Skip to content

Commit 0b4bb7f

Browse files
authored
feat(json-format): lowercase span name and service name as per swagger definition (#175)
https://zipkin.io/zipkin-api/\#/default/post_spans.
1 parent eac02be commit 0b4bb7f

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed

src/Zipkin/Reporters/JsonV2Serializer.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ public function serialize(array $spans): string
3131
return '[' . implode(',', $spansAsArray) . ']';
3232
}
3333

34-
private function serializeEndpoint(Endpoint $endpoint): string
34+
private static function serializeEndpoint(Endpoint $endpoint): string
3535
{
36-
$endpointStr = '{"serviceName":"' . $endpoint->getServiceName() . '"';
36+
$endpointStr = '{"serviceName":"' . \strtolower($endpoint->getServiceName()) . '"';
3737

3838
if ($endpoint->getIpv4() !== null) {
3939
$endpointStr .= ',"ipv4":"' . $endpoint->getIpv4() . '"';
@@ -54,10 +54,13 @@ private function serializeSpan(ReadbackSpan $span): string
5454
{
5555
$spanStr =
5656
'{"id":"' . $span->getSpanId() . '"'
57-
. ',"name":"' . $span->getName() . '"'
5857
. ',"traceId":"' . $span->getTraceId() . '"'
5958
. ',"timestamp":' . $span->getTimestamp();
6059

60+
if ($span->getName() !== null) {
61+
$spanStr .= ',"name":"' . \strtolower($span->getName()) . '"';
62+
}
63+
6164
if ($span->getDuration() !== null) {
6265
$spanStr .= ',"duration":' . $span->getDuration();
6366
}

tests/Unit/Reporters/HttpTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515

1616
final class HttpTest extends TestCase
1717
{
18-
const PAYLOAD = '[{"id":"%s","name":"test","traceId":"%s",'
19-
. '"timestamp":%d,"localEndpoint":{"serviceName":""}}]';
18+
const PAYLOAD = '[{"id":"%s","traceId":"%s",'
19+
. '"timestamp":%d,"name":"test","localEndpoint":{"serviceName":""}}]';
2020

2121
public function testConstructorIsRetrocompatible()
2222
{

tests/Unit/Propagation/JsonV2SerializerTest.php renamed to tests/Unit/Reporters/JsonV2SerializerTest.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace ZipkinTests\Unit\Propagation;
3+
namespace ZipkinTests\Unit\Reporters;
44

55
use Zipkin\Reporters\JsonV2Serializer;
66
use Zipkin\Recording\Span;
@@ -17,9 +17,9 @@ public function testSpanIsSerializedSuccessfully()
1717
$span = Span::createFromContext($context, $localEndpoint);
1818
$startTime = 1594044779509687;
1919
$span->start($startTime);
20-
$span->setName('test');
20+
$span->setName('Test');
2121
$span->setKind('CLIENT');
22-
$remoteEndpoint = Endpoint::create('service2', null, '2001:0db8:85a3:0000:0000:8a2e:0370:7334', 3302);
22+
$remoteEndpoint = Endpoint::create('SERVICE2', null, '2001:0db8:85a3:0000:0000:8a2e:0370:7334', 3302);
2323
$span->setRemoteEndpoint($remoteEndpoint);
2424
$span->tag('test_key', 'test_value');
2525
$span->annotate($startTime + 100, 'test_annotarion');
@@ -29,7 +29,7 @@ public function testSpanIsSerializedSuccessfully()
2929
$serializedSpans = $serializer->serialize([$span]);
3030

3131
$expectedSerialization = '[{'
32-
. '"id":"186f11b67460db4d","name":"test","traceId":"186f11b67460db4d","timestamp":1594044779509687,'
32+
. '"id":"186f11b67460db4d","traceId":"186f11b67460db4d","timestamp":1594044779509687,"name":"test",'
3333
. '"duration":1000,"localEndpoint":{"serviceName":"service1","ipv4":"192.168.0.11","port":3301},'
3434
. '"kind":"CLIENT",'
3535
. '"remoteEndpoint":{"serviceName":"service2","ipv6":"2001:0db8:85a3:0000:0000:8a2e:0370:7334","port":3302}'
@@ -55,7 +55,7 @@ public function testErrorTagIsNotClobberedBySpanError()
5555
$serializedSpans = $serializer->serialize([$span]);
5656

5757
$expectedSerialization = '[{'
58-
. '"id":"186f11b67460db4d","name":"test","traceId":"186f11b67460db4d","timestamp":1594044779509688,'
58+
. '"id":"186f11b67460db4d","traceId":"186f11b67460db4d","timestamp":1594044779509688,"name":"test",'
5959
. '"duration":1000,"localEndpoint":{"serviceName":"service1","ipv4":"192.168.0.11","port":3301},'
6060
. '"tags":{"test_key":"test_value","error":"priority_error"}'
6161
. '}]';

0 commit comments

Comments
 (0)