agardnerIT / tracepusher

Generate and push OpenTelemetry Trace data to an OTEL collector in JSON format
Apache License 2.0
54 stars 11 forks source link

tracepusher - start-time issue with grafana tempo? #94

Closed eravion closed 2 months ago

eravion commented 3 months ago

Hello,

I'm not sure if tracepusher is validated for tempo in addition of Jaeger?

It looks that the option --start-time '2024-07-30T09:37:04.365Z' is ok for Jaeger but not for tempo. No error to share yet, I'll try to investigate more.

eravion commented 3 months ago

ok, it looks that grafana tempo date format have to be in startTimeUnixNano. push-spans-with-otlp Converting on this format is ok.

Example : ARGS TO TRACEPUSHER: --endpoint http://X.X.X.X:4318 --insecure true --service-name har-to-otel --span-name 'https://sdk.privacy-center.org/46f7dddf-c089-41ee-a5e2-5ea92cabd8dd/loader.js?target=www.orange.com' --duration 89 --duration-type 'ms' --trace-id 6ea0b4a31fa84c85eaa8e5e9d6db3535 --span-id d812757f80ecb198 --start-time '**1722438155880000000**' --span-attributes serverIPAddress='3.162.140.120' request.method=GET request.httpVersion=h2 response.status=200 response.statusText="" response.httpVersion=h2 response.content.size=33820 timings.blocked=19.701 timings.dns=0.008 timings.connect=59.866 timings.send=0.124 timings.wait=27.961 timings.receive=1.15 timings.ssl=31.61 --debug False --dry-run False

And it is ok for tracepusher

python3 tracepusher.py --endpoint http://X.X.X.X:4318 --insecure true --service-name har-to-otel --span-name 'https://sdk.privacy-center.org/46f7dddf-c089-41ee-a5e2-5ea92cabd8dd/loader.js?target=www.orange.com' --duration 89 --duration-type 'ms' --trace-id 6ea0b4a31fa84c85eaa8e5e9d6db3535 --span-id d812757f80ecb198 --start-time '1722438155880000000' --span-attributes serverIPAddress='3.162.140.120' request.method=GET request.httpVersion=h2 response.status=200 response.statusText="" response.httpVersion=h2 response.content.size=33820 timings.blocked=19.701 timings.dns=0.008 timings.connect=59.866 timings.send=0.124 timings.wait=27.961 timings.receive=1.15 timings.ssl=31.61  --debug False --dry-run False
Got an explicit start time
<Response [200]>
agardnerIT commented 2 months ago

Yes. tracepusher currently only supports 2 time formats. The logic is here: https://github.com/agardnerIT/tracepusher/blob/47f607b27fa1d2d4dbea3897e6acfeb60cbf2833/tracepusher.py#L289