@@ -375,6 +375,82 @@ func TestProcessMetricsResourceAttributeScraping(t *testing.T) {
375
375
semconv .AttributeK8SNodeName : "test-node" ,
376
376
},
377
377
},
378
+ {
379
+ name : "ResourceAttributeWorkloadFallbackForUnknownService" ,
380
+ kubernetesMode : config .ModeEKS ,
381
+ clusterName : "test-cluster" ,
382
+ metrics : generateMetrics (semconv .AttributeK8SNamespaceName , "test-namespace" , semconv .AttributeK8SDeploymentName , "test-workload" , semconv .AttributeK8SNodeName , "test-node" , semconv .AttributeServiceName , "unknown_service" ),
383
+ want : map [string ]any {
384
+ entityattributes .AttributeEntityType : "Service" ,
385
+ entityattributes .AttributeEntityServiceName : "test-workload" ,
386
+ entityattributes .AttributeEntityDeploymentEnvironment : "eks:test-cluster/test-namespace" ,
387
+ entityattributes .AttributeEntityCluster : "test-cluster" ,
388
+ entityattributes .AttributeEntityNamespace : "test-namespace" ,
389
+ entityattributes .AttributeEntityNode : "test-node" ,
390
+ entityattributes .AttributeEntityWorkload : "test-workload" ,
391
+ entityattributes .AttributeEntityServiceNameSource : "K8sWorkload" ,
392
+ entityattributes .AttributeEntityPlatformType : "AWS::EKS" ,
393
+ semconv .AttributeK8SNamespaceName : "test-namespace" ,
394
+ semconv .AttributeK8SDeploymentName : "test-workload" ,
395
+ semconv .AttributeK8SNodeName : "test-node" ,
396
+ attributeServiceName : "unknown_service" ,
397
+ },
398
+ },
399
+ {
400
+ name : "ResourceAttributeWorkloadFallbackForUnknownServiceJava" ,
401
+ kubernetesMode : config .ModeEKS ,
402
+ clusterName : "test-cluster" ,
403
+ metrics : generateMetrics (semconv .AttributeK8SNamespaceName , "test-namespace" , semconv .AttributeK8SDeploymentName , "test-workload" , semconv .AttributeK8SNodeName , "test-node" , semconv .AttributeServiceName , "unknown_service:java" ),
404
+ want : map [string ]any {
405
+ entityattributes .AttributeEntityType : "Service" ,
406
+ entityattributes .AttributeEntityServiceName : "test-workload" ,
407
+ entityattributes .AttributeEntityDeploymentEnvironment : "eks:test-cluster/test-namespace" ,
408
+ entityattributes .AttributeEntityCluster : "test-cluster" ,
409
+ entityattributes .AttributeEntityNamespace : "test-namespace" ,
410
+ entityattributes .AttributeEntityNode : "test-node" ,
411
+ entityattributes .AttributeEntityWorkload : "test-workload" ,
412
+ entityattributes .AttributeEntityServiceNameSource : "K8sWorkload" ,
413
+ entityattributes .AttributeEntityPlatformType : "AWS::EKS" ,
414
+ semconv .AttributeK8SNamespaceName : "test-namespace" ,
415
+ semconv .AttributeK8SDeploymentName : "test-workload" ,
416
+ semconv .AttributeK8SNodeName : "test-node" ,
417
+ attributeServiceName : "unknown_service:java" ,
418
+ },
419
+ },
420
+ {
421
+ name : "ResourceAttributeWithUnknownServiceNegativeCase" ,
422
+ kubernetesMode : config .ModeEKS ,
423
+ clusterName : "test-cluster" ,
424
+ metrics : generateMetrics (semconv .AttributeK8SNamespaceName , "test-namespace" , semconv .AttributeK8SDeploymentName , "test-workload" , semconv .AttributeK8SNodeName , "test-node" , semconv .AttributeServiceName , "unknown_servic" ),
425
+ want : map [string ]any {
426
+ entityattributes .AttributeEntityType : "Service" ,
427
+ entityattributes .AttributeEntityServiceName : "unknown_servic" ,
428
+ entityattributes .AttributeEntityDeploymentEnvironment : "eks:test-cluster/test-namespace" ,
429
+ entityattributes .AttributeEntityCluster : "test-cluster" ,
430
+ entityattributes .AttributeEntityNamespace : "test-namespace" ,
431
+ entityattributes .AttributeEntityNode : "test-node" ,
432
+ entityattributes .AttributeEntityWorkload : "test-workload" ,
433
+ entityattributes .AttributeEntityPlatformType : "AWS::EKS" ,
434
+ semconv .AttributeK8SNamespaceName : "test-namespace" ,
435
+ semconv .AttributeK8SDeploymentName : "test-workload" ,
436
+ semconv .AttributeK8SNodeName : "test-node" ,
437
+ attributeServiceName : "unknown_servic" ,
438
+ },
439
+ },
440
+ {
441
+ name : "ResourceAttributeWorkloadFallbackForUnknownServiceJava" ,
442
+ kubernetesMode : config .ModeEKS ,
443
+ clusterName : "test-cluster" ,
444
+ metrics : generateMetrics (semconv .AttributeK8SNamespaceName , "test-namespace" , semconv .AttributeK8SNodeName , "test-node" , semconv .AttributeServiceName , "unknown_service:java" ),
445
+ want : map [string ]any {
446
+ entityattributes .AttributeEntityType : "Service" ,
447
+ entityattributes .AttributeEntityServiceName : "unknown_service:java" ,
448
+ entityattributes .AttributeEntityDeploymentEnvironment : "eks:test-cluster/test-namespace" ,
449
+ semconv .AttributeK8SNamespaceName : "test-namespace" ,
450
+ semconv .AttributeK8SNodeName : "test-node" ,
451
+ attributeServiceName : "unknown_service:java" ,
452
+ },
453
+ },
378
454
{
379
455
name : "ResourceAttributeEnvironmentFallbackToASG" ,
380
456
platform : config .ModeEC2 ,
0 commit comments