@@ -11,6 +11,7 @@ import (
1111 "fmt"
1212 "math"
1313 "strconv"
14+ "strings"
1415 "sync"
1516 "testing"
1617 "time"
@@ -529,6 +530,160 @@ func TestSpanPeerService(t *testing.T) {
529530 wantPeerServiceSource : "bucketname" ,
530531 wantPeerServiceRemappedFrom : "" ,
531532 },
533+ {
534+ name : "AWS-No-Service" ,
535+ spanOpts : []StartSpanOption {
536+ Tag ("span.kind" , "client" ),
537+ Tag ("region" , "us-east-2" ),
538+ Tag ("db.system" , "db-system" ),
539+ Tag ("db.name" , "db-name" ),
540+ },
541+ peerServiceDefaultsEnabled : true ,
542+ peerServiceMappings : nil ,
543+ wantPeerService : "" ,
544+ wantPeerServiceSource : "" ,
545+ wantPeerServiceRemappedFrom : "" ,
546+ },
547+ {
548+ name : "AWS-No-Region" ,
549+ spanOpts : []StartSpanOption {
550+ Tag ("span.kind" , "client" ),
551+ Tag ("aws_service" , "S3" ),
552+ Tag ("db.system" , "db-system" ),
553+ Tag ("db.name" , "db-name" ),
554+ },
555+ peerServiceDefaultsEnabled : true ,
556+ peerServiceMappings : nil ,
557+ wantPeerService : "" ,
558+ wantPeerServiceSource : "" ,
559+ wantPeerServiceRemappedFrom : "" ,
560+ },
561+ {
562+ name : "AWS-Nonexistent-Service-And-Region" ,
563+ spanOpts : []StartSpanOption {
564+ Tag ("span.kind" , "client" ),
565+ Tag ("aws_service" , "notarealservice" ),
566+ Tag ("region" , "notarealregion" ),
567+ Tag ("db.system" , "db-system" ),
568+ Tag ("db.name" , "db-name" ),
569+ },
570+ peerServiceDefaultsEnabled : true ,
571+ peerServiceMappings : nil ,
572+ wantPeerService : "" ,
573+ wantPeerServiceSource : "" ,
574+ wantPeerServiceRemappedFrom : "" ,
575+ },
576+ {
577+ name : "AWS-No-Outbound-Request" ,
578+ spanOpts : []StartSpanOption {
579+ Tag ("aws_service" , "S3" ),
580+ Tag ("db.system" , "db-system" ),
581+ Tag ("db.name" , "db-name" ),
582+ },
583+ peerServiceDefaultsEnabled : true ,
584+ peerServiceMappings : nil ,
585+ wantPeerService : "" ,
586+ wantPeerServiceSource : "" ,
587+ wantPeerServiceRemappedFrom : "" ,
588+ },
589+ {
590+ name : "AWS-S3" ,
591+ spanOpts : []StartSpanOption {
592+ Tag ("span.kind" , "client" ),
593+ Tag ("aws_service" , "S3" ),
594+ Tag ("region" , "us-east-2" ),
595+ Tag ("bucketname" , "some-bucket" ),
596+ Tag ("db.system" , "db-system" ),
597+ Tag ("db.name" , "db-name" ),
598+ },
599+ peerServiceDefaultsEnabled : true ,
600+ peerServiceMappings : nil ,
601+ wantPeerService : "some-bucket.s3.us-east-2.amazonaws.com" ,
602+ wantPeerServiceSource : "peer.service" ,
603+ wantPeerServiceRemappedFrom : "" ,
604+ },
605+ {
606+ name : "AWS-S3-No-Bucket" ,
607+ spanOpts : []StartSpanOption {
608+ Tag ("span.kind" , "client" ),
609+ Tag ("aws_service" , "S3" ),
610+ Tag ("region" , "us-east-2" ),
611+ Tag ("db.system" , "db-system" ),
612+ Tag ("db.name" , "db-name" ),
613+ },
614+ peerServiceDefaultsEnabled : true ,
615+ peerServiceMappings : nil ,
616+ wantPeerService : "s3.us-east-2.amazonaws.com" ,
617+ wantPeerServiceSource : "peer.service" ,
618+ wantPeerServiceRemappedFrom : "" ,
619+ },
620+ {
621+ name : "AWS-DynamoDB" ,
622+ spanOpts : []StartSpanOption {
623+ Tag ("span.kind" , "client" ),
624+ Tag ("aws_service" , "DynamoDB" ),
625+ Tag ("region" , "us-east-2" ),
626+ Tag ("db.system" , "db-system" ),
627+ Tag ("db.name" , "db-name" ),
628+ },
629+ peerServiceDefaultsEnabled : true ,
630+ peerServiceMappings : nil ,
631+ wantPeerService : "dynamodb.us-east-2.amazonaws.com" ,
632+ wantPeerServiceSource : "peer.service" ,
633+ wantPeerServiceRemappedFrom : "" ,
634+ },
635+ {
636+ name : "AWS-Kinesis" ,
637+ spanOpts : []StartSpanOption {
638+ Tag ("span.kind" , "client" ),
639+ Tag ("aws_service" , "Kinesis" ),
640+ Tag ("region" , "us-east-2" ),
641+ },
642+ peerServiceDefaultsEnabled : true ,
643+ peerServiceMappings : nil ,
644+ wantPeerService : "kinesis.us-east-2.amazonaws.com" ,
645+ wantPeerServiceSource : "peer.service" ,
646+ wantPeerServiceRemappedFrom : "" ,
647+ },
648+ {
649+ name : "AWS-SNS" ,
650+ spanOpts : []StartSpanOption {
651+ Tag ("span.kind" , "client" ),
652+ Tag ("aws_service" , "SNS" ),
653+ Tag ("region" , "us-east-2" ),
654+ },
655+ peerServiceDefaultsEnabled : true ,
656+ peerServiceMappings : nil ,
657+ wantPeerService : "sns.us-east-2.amazonaws.com" ,
658+ wantPeerServiceSource : "peer.service" ,
659+ wantPeerServiceRemappedFrom : "" ,
660+ },
661+ {
662+ name : "AWS-SQS" ,
663+ spanOpts : []StartSpanOption {
664+ Tag ("span.kind" , "client" ),
665+ Tag ("aws_service" , "SQS" ),
666+ Tag ("region" , "us-east-2" ),
667+ },
668+ peerServiceDefaultsEnabled : true ,
669+ peerServiceMappings : nil ,
670+ wantPeerService : "sqs.us-east-2.amazonaws.com" ,
671+ wantPeerServiceSource : "peer.service" ,
672+ wantPeerServiceRemappedFrom : "" ,
673+ },
674+ {
675+ name : "AWS-Events" ,
676+ spanOpts : []StartSpanOption {
677+ Tag ("span.kind" , "client" ),
678+ Tag ("aws_service" , "EventBridge" ),
679+ Tag ("region" , "us-east-2" ),
680+ },
681+ peerServiceDefaultsEnabled : true ,
682+ peerServiceMappings : nil ,
683+ wantPeerService : "events.us-east-2.amazonaws.com" ,
684+ wantPeerServiceSource : "peer.service" ,
685+ wantPeerServiceRemappedFrom : "" ,
686+ },
532687 {
533688 name : "DBClient" ,
534689 spanOpts : []StartSpanOption {
@@ -658,7 +813,11 @@ func TestSpanPeerService(t *testing.T) {
658813 }
659814 }
660815 t .Run (tc .name , func (t * testing.T ) {
661- tracer , transport , flush , stop , err := startTestTracer (t )
816+ if strings .Contains (tc .name , "AWS-" ) {
817+ t .Setenv ("AWS_LAMBDA_FUNCTION_NAME" , "test_name" )
818+ }
819+
820+ tracer , transport , flush , stop , err := startTestTracer (t , WithLambdaMode (false ))
662821 assert .Nil (t , err )
663822 defer stop ()
664823
0 commit comments