|
58 | 58 | $propagator = new Propagator(); |
59 | 59 |
|
60 | 60 | // Create root span |
61 | | -$root = $tracer->spanBuilder('root')->startSpan(); |
| 61 | +$root = $tracer->spanBuilder('AwsClientApp')->startSpan(); |
62 | 62 | $root->activate(); |
63 | 63 |
|
64 | | -$root->setAttribute('item_A', 'cars') |
65 | | - ->setAttribute('item_B', 'motorcycles') |
66 | | - ->setAttribute('item_C', 'planes'); |
67 | | - |
68 | 64 | $carrier = []; |
69 | 65 |
|
70 | 66 | if ($line === 'outgoing-http-call') { |
|
74 | 70 |
|
75 | 71 | try { |
76 | 72 | $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 | + ]); |
78 | 80 | } catch (\Throwable $e) { |
79 | 81 | echo $e->getMessage() . PHP_EOL; |
80 | 82 | exit(1); |
|
86 | 88 | } |
87 | 89 |
|
88 | 90 | 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(); |
90 | 93 |
|
91 | | - $propagator->inject($carrier); |
| 94 | + $span->setAttributes([ |
| 95 | + 'rpc.method' => 'CreateBucket', |
| 96 | + 'rpc.service' => 'S3', |
| 97 | + 'rpc.system' => 'aws-api', |
| 98 | + ]); |
92 | 99 |
|
93 | 100 | $s3Client = new S3Client([ |
94 | 101 | 'profile' => 'default', |
|
98 | 105 |
|
99 | 106 | try { |
100 | 107 | $result = $s3Client->createBucket([ |
101 | | - 'Bucket' => uniqid('test-bucket-'), |
| 108 | + 'Bucket' => uniqid('test-bucket-'), |
102 | 109 | ]); |
103 | 110 |
|
104 | 111 | echo <<<EOL |
105 | 112 | The bucket's location is: {$result['Location']} |
106 | 113 | The bucket's effective URI is: {$result['@metadata']['effectiveUri']} |
107 | | - |
| 114 | +
|
108 | 115 | EOL; |
109 | 116 | } catch (AwsException $e) { |
110 | 117 | echo "Error: {$e->getAwsErrorMessage()}"; |
| 118 | + exit(1); |
111 | 119 | } |
112 | 120 |
|
| 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 | + |
113 | 132 | $buckets = $s3Client->listBuckets(); |
114 | 133 |
|
115 | 134 | foreach ($buckets['Buckets'] as $bucket) { |
|
0 commit comments