8000 feat(WIP): add opentelemetry by robinbraemer · Pull Request #439 · minekube/gate · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

feat(WIP): add opentelemetry #439

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 108 commits into from
May 16, 2025
Merged

feat(WIP): add opentelemetry #439

merged 108 commits into from
May 16, 2025

Conversation

robinbraemer
Copy link
Member
@robinbraemer robinbraemer commented Nov 27, 2024
  • still needs making it configurable
  • and having an optional /metrics endpoint instead of pushing

closes #61

still needs making it configurable
and having an optional /metrics endpoint instead of pushing
Copy link
cloudflare-workers-and-pages bot commented Nov 27, 2024

Deploying gate-minekube with  Cloudflare Pages  Cloudflare Pages

Latest commit: affe1b0
Status: ✅  Deploy successful!
Preview URL: https://fd94f0fe.gate-minekube.pages.dev
Branch Preview URL: https://feat-otel.gate-minekube.pages.dev

View logs

@andrewgazelka andrewgazelka mentioned this pull request Feb 4, 2025
3 tasks
renovate bot and others added 25 commits May 14, 2025 14:01
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…29.0 (#442)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…29.0 (#443)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
… v1.68.2.1.20241118150055.50fffb007499 (#446)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ers_java to v29 (#447)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…29.1 (#454)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…29.1 (#455)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ers_java to v29.1.0.1.20241118150055.50fffb007499 (#458)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
… v1.69.0.1.20241118150055.50fffb007499 (#463)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot and others added 27 commits May 14, 2025 14:02
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(network): fix AvailableCommands packet for mods

Fixes: #322
Closes: #527
Co-authored-by: @uberswe

* test(util): enhance ReadVarInt tests with additional cases and fuzzing

- Expanded unit tests for ReadVarInt to cover various scenarios including edge cases like maximum varint, empty buffer, and incomplete varint.
- Added fuzz testing for ReadVarInt to ensure robustness against malformed input.
- Introduced a benchmark for ReadVarInt to measure performance.

* revert to original ReadVarInt

* update go.sum

* fix: lint

---------

Co-authored-by: Román Benjámin <svetch.game@gmail.com>
still needs making it configurable
and having an optional /metrics endpoint instead of pushing
Added a new FAQ page for OpenTelemetry, addressing common questions and providing guidance on scalable setups. Updated the navigation to include a link to the new FAQ section.
Updated the packet reading process to include the number of bytes read during decoding. This change introduces a new `BytesRead` field in the `PacketContext` struct and modifies the `readPayload` and `ReadVarInt` functions to return the byte count. Additionally, integrated OpenTelemetry tracing in the `startReadLoop` method to monitor packet handling more effectively.
Updated OpenTelemetry modules to v1.34.0, including core, metric, and trace packages. Adjusted indirect dependencies for improved compatibility and performance. Additionally, modified the `decoder.go` file to return the byte count in error messages during payload reading, enhancing error reporting.
…etheus metrics server

Updated OpenTelemetry modules to v1.35.0, including core, metric, and trace packages. Introduced a new HTTP server for Prometheus metrics, configurable via environment variables. Enhanced the OpenTelemetry initialization to support metrics collection and server management. Updated documentation to reflect new environment variables for metrics configuration.
…n details and add sample Grafana dashboard

Updated the self-hosted OpenTelemetry documentation to include detailed configuration steps for Grafana, Prometheus, and Tempo. Added a new section for a sample Grafana dashboard to visualize metrics from Gate. Introduced quick start instructions for obtaining configuration files across different scenarios, ensuring users have clear guidance for setup.
Added an OpenTelemetry interceptor to the Gate service handler for enhanced tracing capabilities. This change improves observability by allowing the collection of telemetry data during API requests. Error handling for interceptor initialization is also included.
…nd dashboard features

Enhanced the self-hosted OpenTelemetry documentation by adding a sample Grafana dashboard for visualizing metrics from Gate. Updated configuration details for the OpenTelemetry Collector, including new metrics endpoints and improved instructions for setting up Prometheus scraping. Removed outdated Kubernetes configuration examples and added new YAML files for the OpenTelemetry Collector setup. Updated the documentation to reflect changes in metrics collection and visualization capabilities.
…ation

Added the `connectrpc.com/otelconnect` dependency to the Go module and updated the `go.sum` file accordingly. Removed outdated Prometheus-related depen
9E81
dencies and updated the `go.mod` file to reflect the latest versions. Additionally, modified the VitePress configuration to ignore dead links for localhost, enhancing the documentation experience.
…ation

Revised the Jaeger configuration in the self-hosted OpenTelemetry documentation. Updated the OTLP endpoint to use port 4318 and changed the protocol to "http/protobuf". Disabled metrics export as Jaeger does not support it, ensuring clarity in the setup instructions.

[skip ci]
…ation files and metrics setup

Added new configuration files for OpenTelemetry Collector in both push and pull models, along with updated Prometheus configurations. Revised the self-hosted guide to clarify setup instructions and included details on how to send telemetry data from Gate. Updated Grafana dashboard expressions to align with the new metrics structure, ensuring accurate data visualization.

[skip ci]
…sources and visualization options

Refactored the Gate overview dashboard JSON configuration to remove deprecated inputs and enhance visualization features. Added support for Tempo as a new data source, updated panel options for better display, and ensured compatibility with the latest Grafana plugin version. Improved overall structure and clarity of the dashboard configuration.
…nd Jaeger configurations

Added a comprehensive guide for setting up a self-hosted Grafana, Prometheus, and Tempo stack, including detailed configuration files and instructions. Introduced a new section for self-hosted Jaeger setup, clarifying how to send traces from Gate. Updated navigation links in the documentation to reflect these additions, enhancing the overall user experience and observability capabilities.
…a and Jaeger

Corrected the links in the OpenTelemetry self-hosted guide to point to the appropriate Markdown files for the Grafana Stack and Jaeger setup. This ensures users are directed to the correct resources for configuring their self-hosted observability solutions.
Replaced the outdated name "Google Cloud Operations Suite" with the current name "Google Cloud Observability" in the OpenTelemetry documentation. This ensures that users have the most accurate and up-to-date information regarding Google Cloud's monitoring and diagnostics services.
@robinbraemer robinbraemer marked this pull request as ready for review May 16, 2025 10:36
@robinbraemer robinbraemer merged commit 18eda21 into master May 16, 2025
5 checks passed
@robinbraemer robinbraemer deleted the feat/otel branch May 16, 2025 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Integrate Opentelemetry
4 participants
0