Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: add
just otel-ui
to view traces through browser (#2076)
Part 2 of #2020 This PR adds `just otel-ui`, which wraps the otel collector so you can view signals generated in `ftl dev` through a webapp without separately needing to start the collector. Unfortunately, the latest version of `otel-desktop-viewer` that we can install only supports traces, not metrics or logs. The latest version on their github repo does have metrics/logs support, but can't be installed without cloning the whole repo and building from source code. Instead of doing that, I filed this issue: CtrlSpice/otel-desktop-viewer#146 For now, when we're only debugging/developing traces, we can use this desktop viewer, which is quite nice. When working with metrics/logs, we'll still need to use the collector itself: `just otel-stream`. After the upgrade is complete for `otel-desktop-viewer`, we hopefully won't need the `otel-stream` command anymore. Its terminal output looks like this: ``` $ just otel-ui Installing otel-desktop-viewer... otel-desktop-viewer --grpc 4317 2024-07-15T14:05:07.769-0400 info service/telemetry.go:113 Setting up own telemetry... 2024-07-15T14:05:07.769-0400 info service/telemetry.go:136 Serving Prometheus metrics {"address": ":8888", "level": "Basic"} 2024-07-15T14:05:07.769-0400 info [email protected]/exporter.go:286 Development component. May change in the future. {"kind": "exporter", "data_type": "traces", "name": "desktop"} 2024-07-15T14:05:07.769-0400 info [email protected]/exporter.go:286 Development component. May change in the future. {"kind": "exporter", "data_type": "logs", "name": "desktop"} 2024-07-15T14:05:07.769-0400 info [email protected]/exporter.go:286 Development component. May change in the future. {"kind": "exporter", "data_type": "metrics", "name": "desktop"} 2024-07-15T14:05:07.769-0400 info service/service.go:141 Starting otel-desktop-viewer... {"Version": "0.1.1", "NumCPU": 12} 2024-07-15T14:05:07.769-0400 info extensions/extensions.go:41 Starting extensions... 2024-07-15T14:05:07.769-0400 info [email protected]/otlp.go:94 Starting GRPC server {"kind": "receiver", "name": "otlp", "data_type": "logs", "endpoint": "localhost:4317"} 2024-07-15T14:05:07.771-0400 info [email protected]/otlp.go:112 Starting HTTP server {"kind": "receiver", "name": "otlp", "data_type": "logs", "endpoint": "localhost:4318"} 2024-07-15T14:05:07.771-0400 info service/service.go:158 Everything is ready. Begin running and processing data. ^C2024-07-15T14:06:40.238-0400 info otelcol/collector.go:238 Received signal from OS {"signal": "interrupt"} 2024-07-15T14:06:40.238-0400 info service/service.go:167 Starting shutdown... 2024-07-15T14:06:40.238-0400 info extensions/extensions.go:55 Stopping extensions... 2024-07-15T14:06:40.238-0400 info service/service.go:181 Shutdown complete. ``` Screenshot of traces after starting `ftl dev` and calling `echo.echo` via the console: <img width="1333" alt="Screenshot 2024-07-15 at 2 06 31 PM" src="https://github.com/user-attachments/assets/f049caa9-0a64-4286-9648-8429aee466eb"> For posterity, an alternative to using the desktop viewer is the following command to start a terminal ui. However, that doesn't include nearly as much viewable data as the desktop alternative. ``` otel-cli server tui --verbose --protocol grpc --endpoint http://localhost:4317 ```
- Loading branch information