metrico / qryn

⭐️ All-in-One Polyglot Observability with OLAP Storage for Logs, Metrics, Traces & Profiles. Drop-in Grafana Cloud replacement compatible with Loki, Prometheus, Tempo, Pyroscope, Opentelemetry, Datadog and beyond :rocket:
https://qryn.dev
GNU Affero General Public License v3.0
1.19k stars 67 forks source link

Explore profiles: explain flamegraph fails with 500 #576

Open tomershafir opened 2 weeks ago

tomershafir commented 2 weeks ago

Grafana v11.2.0 Plugin 0.10.7 qryn 3.2.32

Screenshot 2024-09-22 at 16 23 13

Query params:

query=process_cpu%3Acpu%3Ananoseconds%3Acpu%3Ananoseconds%7Bservice_name%3D%22com.wixpress.app-market-api%22%2C%7D&from=1727010098000&until=1727011898000&format=dot&max-nodes=100

Response:

{
    "statusCode": 500,
    "error": "Internal Server Error",
    "message": "Internal Server Error"
}

Logs:

2024-09-22 16:38:08.260 {"level":30,"time":1727012288260,"pid":23,"hostname":"pyroscope-qryn-bfb765b9f-df2td","name":"qryn","reqId":"req-3vw5","res":{"statusCode":500},"responseTime":1.1104429960250854,"msg":"request completed"}
2024-09-22 16:38:08.259 {"level":50,"time":1727012288259,"pid":23,"hostname":"pyroscope-qryn-bfb765b9f-df2td","name":"qryn","reqId":"req-3vw5","err":"res.sendStatus is not a function\nTypeError: res.sendStatus is not a function\n    at Object.render (/app/pyroscope/render.js:29:16)\n    at routeOptions.handler (/app/node_modules/@fastify/websocket/index.js:150:24)\n    at preHandlerCallback (/app/node_modules/fastify/lib/handleRequest.js:138:37)\n    at validationCompleted (/app/node_modules/fastify/lib/handleRequest.js:122:5)\n    at preValidationCallback (/app/node_modules/fastify/lib/handleRequest.js:99:5)\n    at handler (/app/node_modules/fastify/lib/handleRequest.js:76:7)\n    at handleRequest (/app/node_modules/fastify/lib/handleRequest.js:24:5)\n    at next (/app/node_modules/fastify/lib/hooks.js:335:7)\n    at Object.preParsing (/app/node_modules/@fastify/compress/index.js:306:14)\n    at next (/app/node_modules/fastify/lib/hooks.js:341:30)","msg":"res.sendStatus is not a function"}
2024-09-22 16:38:08.259 {"level":30,"time":1727012288259,"pid":23,"hostname":"pyroscope-qryn-bfb765b9f-df2td","name":"qryn","reqId":"req-3vw5","req":{"method":"GET","url":"/pyroscope/render?query=process_cpu%3Acpu%3Ananoseconds%3Acpu%3Ananoseconds%7Bservice_name%3D%22com.wixpress.app-market-api%22%2C%7D&from=1727010098000&until=1727011898000&format=dot&max-nodes=100","hostname":"pyroscope-qryn.mon.wixprod.net","remoteAddress":"10.42.6.242","remotePort":44708},"msg":"incoming request"}
tomershafir commented 6 days ago

@akvlad on qryn 3.2.33 and plugin 0.1.11:

Screenshot 2024-09-30 at 15 06 50
akvlad commented 6 days ago

@tomershafir yes. This feature is planned to be supported in the future, but for now it needs a significant amount of work to be supported.

If anyone has some knowledge in Rust and wants to help, it would be appreciated a lot.

lmangani commented 6 days ago

@glongo to the rescue?