@@ -210,6 +210,26 @@ public static Request.Builder prepareRequest(final HttpUrl url, Map<String, Stri
210210 builder .addHeader (DATADOG_ENTITY_ID , entityId );
211211 }
212212
213+ if (Config .get ().isExperimentalProcessTagsEnabled ()) {
214+ // custom X-Datadog-Process-Tags
215+ String customTags = getCustomTags ();
216+ String existingProcessTags = headers .getOrDefault ("X-Datadog-Process-Tags" , "" );
217+ if (!existingProcessTags .isEmpty () && !existingProcessTags .endsWith ("," )) {
218+ existingProcessTags += "," ;
219+ }
220+ if (customTags .length () > 0 ) {
221+ headers .put ("X-Datadog-Process-Tags" , existingProcessTags + customTags );
222+ }
223+ }
224+
225+ for (Map .Entry <String , String > e : headers .entrySet ()) {
226+ builder .addHeader (e .getKey (), e .getValue ());
227+ }
228+
229+ return builder ;
230+ }
231+
232+ private static String getCustomTags () {
213233 String javaCommand = System .getProperty ("sun.java.command" , "unknown" );
214234 String [] parts = javaCommand .split (" " );
215235 String mainTarget = parts .length > 0 ? parts [0 ] : "unknown" ;
@@ -246,24 +266,34 @@ public static Request.Builder prepareRequest(final HttpUrl url, Map<String, Stri
246266 String jbossMode = System .getProperty ("jboss.server.mode" , "unknown" );
247267 String jbossServerName = System .getProperty ("jboss.server.name" , "unknown" );
248268
249- String customTags =
250- String .format (
251- "JavaMainClass:%s,JavaJarFile:%s,JavaJarPath:%s,JbossHome:%s,JbossMode:%s,JbossServerName:%s" ,
252- javaMainClass , javaJarFile , javaJarPath , jbossHome , jbossMode , jbossServerName );
253-
254- String existingProcessTags = headers .getOrDefault ("X-Datadog-Process-Tags" , "" );
255- if (!existingProcessTags .isEmpty () && !existingProcessTags .endsWith ("," )) {
256- existingProcessTags += "," ;
269+ StringBuilder customTags = new StringBuilder ();
270+ if (!"unknown" .equals (javaMainClass )) {
271+ if (customTags .length () > 0 ) customTags .append ("," );
272+ customTags .append ("java_main_class:" ).append (javaMainClass );
257273 }
258- headers .put ("X-Datadog-Process-Tags" , existingProcessTags + customTags );
259-
260- System .out .println (customTags );
261-
262- for (Map .Entry <String , String > e : headers .entrySet ()) {
263- builder .addHeader (e .getKey (), e .getValue ());
274+ if (!"unknown" .equals (javaJarFile )) {
275+ if (customTags .length () > 0 ) customTags .append ("," );
276+ customTags .append ("java_jar_file:" ).append (javaJarFile );
277+ }
278+ if (!"unknown" .equals (javaJarPath )) {
279+ if (customTags .length () > 0 ) customTags .append ("," );
280+ customTags .append ("java_jar_path:" ).append (javaJarPath );
281+ }
282+ if (!"unknown" .equals (jbossHome )) {
283+ if (customTags .length () > 0 ) customTags .append ("," );
284+ customTags .append ("jboss_home:" ).append (jbossHome );
285+ }
286+ if (!"unknown" .equals (jbossMode )) {
287+ if (customTags .length () > 0 ) customTags .append ("," );
288+ customTags .append ("jboss_mode:" ).append (jbossMode );
289+ }
290+ if (!"unknown" .equals (jbossServerName )) {
291+ if (customTags .length () > 0 ) customTags .append ("," );
292+ customTags .append ("jboss_server_name:" ).append (jbossServerName );
264293 }
265294
266- return builder ;
295+ System .out .println (customTags );
296+ return customTags .toString ();
267297 }
268298
269299 public static Request .Builder prepareRequest (
0 commit comments