17
17
package com .navercorp .pinpoint .bootstrap ;
18
18
19
19
import com .navercorp .pinpoint .common .PinpointConstants ;
20
- import com .navercorp .pinpoint .common .util . AgentUuidUtils ;
20
+ import com .navercorp .pinpoint .common .id . ServiceId ;
21
21
import com .navercorp .pinpoint .common .util .StringUtils ;
22
- import com .navercorp .pinpoint .common .util .UuidUtils ;
23
22
24
23
import java .util .List ;
25
24
import java .util .Objects ;
26
- import java .util .UUID ;
27
25
28
26
/**
29
27
* @author Woonduk Kang(emeroad)
30
28
*/
31
29
public class AgentIdResolver {
32
30
public static final String APPLICATION_NAME = "applicationName" ;
33
- public static final String AGENT_ID = "agentId " ;
31
+ public static final String SERVICE_NAME = "serviceName " ;
34
32
public static final String AGENT_NAME = "agentName" ;
35
33
36
34
public static final String SYSTEM_PROPERTY_PREFIX = "pinpoint." ;
37
35
public static final String APPLICATION_NAME_SYSTEM_PROPERTY = SYSTEM_PROPERTY_PREFIX + "applicationName" ;
38
- public static final String AGENT_ID_SYSTEM_PROPERTY = SYSTEM_PROPERTY_PREFIX + "agentId " ;
36
+ public static final String SERVICE_NAME_SYSTEM_PROPERTY = SYSTEM_PROPERTY_PREFIX + "serviceName " ;
39
37
public static final String AGENT_NAME_SYSTEM_PROPERTY = SYSTEM_PROPERTY_PREFIX + "agentName" ;
40
38
41
39
public static final String ENV_PROPERTY_PREFIX = "PINPOINT_" ;
42
40
public static final String APPLICATION_NAME_ENV_PROPERTY = ENV_PROPERTY_PREFIX + "APPLICATION_NAME" ;
43
- public static final String AGENT_ID_ENV_PROPERTY = ENV_PROPERTY_PREFIX + "AGENT_ID " ;
41
+ public static final String SERVICE_NAME_ENV_PROPERTY = ENV_PROPERTY_PREFIX + "SERVICE_NAME " ;
44
42
public static final String AGENT_NAME_ENV_PROPERTY = ENV_PROPERTY_PREFIX + "AGENT_NAME" ;
45
43
46
44
private final BootLogger logger = BootLogger .getLogger (this .getClass ());
@@ -49,51 +47,32 @@ public class AgentIdResolver {
49
47
50
48
private final IdValidator idValidator = new IdValidator ();
51
49
private final IdValidator applicationNameValidator = new IdValidator (PinpointConstants .APPLICATION_NAME_MAX_LEN );
50
+ private final IdValidator serviceNameValidator = new IdValidator (PinpointConstants .SERVICE_NAME_MAX_LEN );
52
51
53
52
public AgentIdResolver (List <AgentProperties > agentPropertyList ) {
54
53
this .agentPropertyList = Objects .requireNonNull (agentPropertyList , "agentPropertyList" );
55
54
}
56
55
57
56
public AgentIds resolve () {
58
- String agentId = getAgentId ();
59
- if (StringUtils .isEmpty (agentId )) {
60
- logger .info ("Failed to resolve AgentId(-Dpinpoint.agentId)" );
61
- agentId = newRandomAgentId ();
62
- logger .info ("Auto generate AgentId='" + agentId + "'" );
63
- }
64
-
65
57
final String applicationName = getApplicationName ();
66
58
if (StringUtils .isEmpty (applicationName )) {
67
59
logger .warn ("Failed to resolve ApplicationName(-Dpinpoint.applicationName)" );
68
60
return null ;
69
61
}
70
62
63
+ String serviceName = getServiceName ();
64
+ if (StringUtils .isEmpty (serviceName )) {
65
+ logger .info ("Failed to resolve ServiceName(-Dpinpoint.serviceName)" );
66
+ serviceName = ServiceId .DEFAULT_SERVICE_NAME ;
67
+ logger .info ("Using default serviceName='" + serviceName + "'" );
68
+ }
69
+
71
70
final String agentName = getAgentName ();
72
71
if (StringUtils .isEmpty (agentName )) {
73
72
logger .info ("No AgentName(-Dpinpoint.agentName) provided, it's optional!" );
74
73
}
75
74
76
- return new AgentIds (agentId , agentName , applicationName );
77
- }
78
-
79
- private String newRandomAgentId () {
80
- UUID agentUUID = UuidUtils .createV4 ();
81
- return AgentUuidUtils .encode (agentUUID );
82
- }
83
-
84
- private String getAgentId () {
85
- String source = null ;
86
- for (AgentProperties agentProperty : agentPropertyList ) {
87
- final String agentId = agentProperty .getAgentId ();
88
- if (StringUtils .isEmpty (agentId )) {
89
- continue ;
90
- }
91
- if (idValidator .validateAgentId (agentProperty .getType (), agentId )) {
92
- logger .info (agentProperty .getType () + " " + agentProperty .getAgentIdKey () + "=" + agentId );
93
- source = agentId ;
94
- }
95
- }
96
- return source ;
75
+ return new AgentIds (agentName , applicationName , serviceName );
97
76
}
98
77
99
78
private String getAgentName () {
@@ -123,4 +102,19 @@ private String getApplicationName() {
123
102
return source ;
124
103
}
125
104
105
+ private String getServiceName () {
106
+ String source = null ;
107
+ for (AgentProperties agentProperty : agentPropertyList ) {
108
+ final String serviceName = agentProperty .getServiceName ();
109
+ if (StringUtils .isEmpty (serviceName )) {
110
+ continue ;
111
+ }
112
+ if (serviceNameValidator .validateServiceName (agentProperty .getType (), serviceName )) {
113
+ logger .info (agentProperty .getType () + " " + agentProperty .getServiceNameKey () + "=" + serviceName );
114
+ source = serviceName ;
115
+ }
116
+ }
117
+ return source ;
118
+ }
119
+
126
120
}
0 commit comments