Skip to content

Commit dbc5850

Browse files
Merge pull request #54 from mtk3d/fix/aws-example-services
Specify AWS attributes to show exact services in XRay
2 parents ffda596 + 6bf6252 commit dbc5850

File tree

1 file changed

+29
-10
lines changed

1 file changed

+29
-10
lines changed

examples/aws/AwsClientApp/src/main.php

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,9 @@
5858
$propagator = new Propagator();
5959

6060
// Create root span
61-
$root = $tracer->spanBuilder('root')->startSpan();
61+
$root = $tracer->spanBuilder('AwsClientApp')->startSpan();
6262
$root->activate();
6363

64-
$root->setAttribute('item_A', 'cars')
65-
->setAttribute('item_B', 'motorcycles')
66-
->setAttribute('item_C', 'planes');
67-
6864
$carrier = [];
6965

7066
if ($line === 'outgoing-http-call') {
@@ -74,7 +70,13 @@
7470

7571
try {
7672
$client = new Client();
77-
$client->request('GET', 'https://aws.amazon.com', ['headers' => $carrier, 'timeout' => 2000,]);
73+
$result = $client->request('GET', 'https://aws.amazon.com', ['headers' => $carrier]);
74+
75+
$span->setAttributes([
76+
'http.method' => 'GET',
77+
'http.url' => 'https://aws.amazon.com',
78+
'http.status_code' => $result->getStatusCode(),
79+
]);
7880
} catch (\Throwable $e) {
7981
echo $e->getMessage() . PHP_EOL;
8082
exit(1);
@@ -86,9 +88,14 @@
8688
}
8789

8890
if ($line === 'aws-sdk-call') {
89-
$span = $tracer->spanBuilder('session.generate.aws.sdk.span')->setSpanKind(SpanKind::KIND_CLIENT)->startSpan();
91+
$span = $tracer->spanBuilder('S3.CreateBucket')->setSpanKind(SpanKind::KIND_CLIENT)->startSpan();
92+
$span->activate();
9093

91-
$propagator->inject($carrier);
94+
$span->setAttributes([
95+
'rpc.method' => 'CreateBucket',
96+
'rpc.service' => 'S3',
97+
'rpc.system' => 'aws-api',
98+
]);
9299

93100
$s3Client = new S3Client([
94101
'profile' => 'default',
@@ -98,18 +105,30 @@
98105

99106
try {
100107
$result = $s3Client->createBucket([
101-
'Bucket' => uniqid('test-bucket-'),
108+
'Bucket' => uniqid('test-bucket-'),
102109
]);
103110

104111
echo <<<EOL
105112
The bucket's location is: {$result['Location']}
106113
The bucket's effective URI is: {$result['@metadata']['effectiveUri']}
107-
114+
108115
EOL;
109116
} catch (AwsException $e) {
110117
echo "Error: {$e->getAwsErrorMessage()}";
118+
exit(1);
111119
}
112120

121+
$span->end();
122+
123+
$span = $tracer->spanBuilder('S3.ListBuckets')->setSpanKind(SpanKind::KIND_CLIENT)->startSpan();
124+
$span->activate();
125+
126+
$span->setAttributes([
127+
'rpc.method' => 'ListBuckets',
128+
'rpc.service' => 'S3',
129+
'rpc.system' => 'aws-api',
130+
]);
131+
113132
$buckets = $s3Client->listBuckets();
114133

115134
foreach ($buckets['Buckets'] as $bucket) {

0 commit comments

Comments
 (0)