Hello, i am using zipkin exporter in version 1.1.0 and opentelemetry-collector with zipkin receiver and i got 400 - Bad request when tags cointains otel.dropped_attributes_count attribute formattes as number, not string.
Here is correct comment in source code:
// Zipkin tags must be strings, but opentelemetry
// accepts strings, booleans, numbers, and lists of each.
but when library sets custom tag otel.dropped_attributes_count, there is not casting to string
Collector settings
receivers:
zipkin:
endpoint: 0.0.0.0:9411
processors:
batch:
send_batch_max_size: 10485760
send_batch_size: 1048576
timeout: 5s
exporters:
otlphttp:
endpoint: ${env:OTELCOL_EXPORTER}
tls:
insecure: true
service:
pipelines:
traces:
receivers: [zipkin]
processors: [batch]
exporters: [otlphttp]
Generated payload
[
{
"id": "5a19611a37ba40c4",
"traceId": "03f6f604f59e0ec4cf39931e87e0db2e",
"localEndpoint": {
"serviceName": "api.cv1-core"
},
"name": "mdw PERMISSIONS",
"timestamp": 1729012528523110,
"duration": 257155,
"tags": {
"otel.status_code": "Ok",
"permission.context": "ADMINISTRATOR",
"permission.ignoreBlockedService": "false",
"user.clientId": "test_client",
"user.clientRole": "ADMINISTRATOR",
"user.clientScopes": "administrator",
"service.name": "api.cv1-core",
"service.version": "unknown",
"deployment.environment.name": "develop",
"service.instance.id": "local",
"otel.dropped_attributes_count": 1
},
"parentId": "e2d7b2cdac905f5f",
"otel.scope.name": "api.cv1-core",
"annotations": [
{
"timestamp": 1729012528523121,
"value": "\"Call user-management to resolve admin role\""
},
{
"timestamp": 1729012528780249,
"value": "\"User management response\""
}
]
}
]
Response
400 Bad Request
json: cannot unmarshal number into Go struct field .tags of type string↵
Hello, i am using zipkin exporter in version 1.1.0 and opentelemetry-collector with zipkin receiver and i got 400 - Bad request when tags cointains otel.dropped_attributes_count attribute formattes as number, not string.
Here is correct comment in source code:
but when library sets custom tag otel.dropped_attributes_count, there is not casting to string
Collector settings
Generated payload
[ { "id": "5a19611a37ba40c4", "traceId": "03f6f604f59e0ec4cf39931e87e0db2e", "localEndpoint": { "serviceName": "api.cv1-core" }, "name": "mdw PERMISSIONS", "timestamp": 1729012528523110, "duration": 257155, "tags": { "otel.status_code": "Ok", "permission.context": "ADMINISTRATOR", "permission.ignoreBlockedService": "false", "user.clientId": "test_client", "user.clientRole": "ADMINISTRATOR", "user.clientScopes": "administrator", "service.name": "api.cv1-core", "service.version": "unknown", "deployment.environment.name": "develop", "service.instance.id": "local", "otel.dropped_attributes_count": 1 }, "parentId": "e2d7b2cdac905f5f", "otel.scope.name": "api.cv1-core", "annotations": [ { "timestamp": 1729012528523121, "value": "\"Call user-management to resolve admin role\"" }, { "timestamp": 1729012528780249, "value": "\"User management response\"" } ] } ]Response