Skip to content
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

otel with grafana loki tempo #5011

Merged
merged 2 commits into from
Jan 4, 2025
Merged

otel with grafana loki tempo #5011

merged 2 commits into from
Jan 4, 2025

Conversation

alpetric
Copy link
Contributor

@alpetric alpetric commented Jan 3, 2025

Important

Add example setup for OpenTelemetry tracing with Grafana, Tempo, and Loki, including configuration files and documentation.

  • New Example Setup:
    • Adds otel-tracing-grafana directory for OpenTelemetry tracing with Grafana, Tempo, and Loki.
    • Includes docker-compose.yml for service orchestration.
  • Configuration Files:
    • Adds grafana-datasources.yaml for Grafana data source configuration.
    • Adds loki-config.yaml for Loki configuration.
    • Adds otel-config.yaml for OpenTelemetry Collector configuration.
    • Adds prometheus-config.yaml for Prometheus configuration.
    • Adds tempo-config.yaml for Tempo configuration.
  • Documentation:
    • Adds README.md in otel-tracing-grafana for setup instructions and usage details.
    • Updates README.md in otel-tracing-jaeger to clarify Jaeger endpoint configuration.

This description was created by Ellipsis for ccab8d3. It will automatically update as commits are pushed.

@alpetric alpetric requested a review from rubenfiszel as a code owner January 3, 2025 20:09
Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Looks good to me! Reviewed everything up to 1d56c88 in 1 minute and 15 seconds

More details
  • Looked at 542 lines of code in 8 files
  • Skipped 0 files when reviewing.
  • Skipped posting 8 drafted comments based on config settings.
1. examples/deploy/otel-tracing-grafana/README.md:66
  • Draft comment:
    Consider adding a troubleshooting section to address common issues that might arise during setup or usage.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    The README file provides a comprehensive guide on setting up and using Tempo with Windmill. However, it lacks a section on troubleshooting common issues that might arise during setup or usage. Adding a troubleshooting section could be beneficial for users who encounter problems.
2. examples/deploy/otel-tracing-grafana/docker-compose.yml:13
  • Draft comment:
    If you intend to access the db service from the host, consider using ports instead of expose. This comment applies to other services as well, such as windmill_server, windmill_worker, windmill_worker_native, windmill_indexer, lsp, multiplayer, otel-collector, tempo, loki, prometheus, and grafana.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    The docker-compose file uses expose for services, which only makes the ports available to linked services and not to the host. If the intention is to access these services from the host, ports should be used instead of expose. This is a common mistake that can lead to confusion.
3. examples/deploy/otel-tracing-grafana/docker-compose.yml:28
  • Draft comment:
    The pull_policy field is incorrect. Use imagePullPolicy instead. This applies to other services as well, such as windmill_worker, windmill_worker_native, windmill_indexer, and lsp.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable:
  1. This is a Docker Compose file, not a Kubernetes manifest. 2. In Docker Compose v3, 'pull_policy' is the correct field name. 3. 'imagePullPolicy' is a Kubernetes concept, not a Docker Compose one. 4. The comment is suggesting an incorrect change that would break the configuration.
    Could there be a newer version of Docker Compose that uses different terminology? Could this be a special case for certain Docker Compose implementations?
    The file explicitly declares 'version: "3.7"' and the Docker Compose documentation confirms that 'pull_policy' is the correct field name for this version.
    The comment should be deleted because it suggests an incorrect change - 'pull_policy' is the correct field name for Docker Compose, and 'imagePullPolicy' is a Kubernetes concept that doesn't apply here.
4. examples/deploy/otel-tracing-grafana/grafana-datasources.yaml:22
  • Draft comment:
    Setting isDefault: true for Tempo makes it the default datasource in Grafana. Ensure this is the intended behavior, especially if Prometheus is also used extensively.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    The grafana-datasources.yaml file sets isDefault: true for the Tempo datasource. This means that Tempo will be the default datasource in Grafana, which might not be the intended behavior if Prometheus is also being used extensively.
5. examples/deploy/otel-tracing-grafana/loki-config.yaml:10
  • Draft comment:
    Using inmemory for the key-value store might not be suitable for production due to potential data loss on restart. Consider using a more persistent storage option.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable:
    The file is in an 'examples/deploy' directory, suggesting it's a demo or example configuration. The config uses other non-production settings like /tmp paths and filesystem storage. Warning about production readiness in an example file seems unnecessary and could confuse users who are just trying to follow the example.
    The comment does raise a valid technical point about data persistence. Maybe this example could influence someone's production configuration.
    Since this is clearly an example configuration with multiple development-friendly settings, users would likely understand this isn't meant for production use. The comment adds noise to an intentionally simplified example.
    Delete the comment as it's making an unnecessary warning about production readiness in what is clearly meant to be an example configuration.
6. examples/deploy/otel-tracing-grafana/otel-config.yaml:15
  • Draft comment:
    Using insecure: true for TLS in exporters might be acceptable for local development but should be addressed for production environments to ensure secure data transmission.
  • Reason this comment was not posted:
    Comment did not seem useful.
7. examples/deploy/otel-tracing-grafana/prometheus-config.yaml:11
  • Draft comment:
    Consider adding a scrape configuration for the OpenTelemetry Collector to gather more comprehensive metrics.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    The prometheus-config.yaml file is configured to scrape Prometheus and Tempo, but it might be beneficial to also scrape other services like the OpenTelemetry Collector to gather more comprehensive metrics.
8. examples/deploy/otel-tracing-grafana/tempo-config.yaml:28
  • Draft comment:
    The block_retention is set to 1h, which is very short and might lead to data loss in production. Adjust this setting for production use.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable:
    The file is clearly a demo/example configuration, as evidenced by multiple inline comments. The short retention period is intentional for demo purposes. The comment is technically correct that 1h is too short for production, but it's missing the point that this isn't meant for production use. Making comments about demo configurations not being production-ready is not useful.
    Perhaps this comment could help prevent someone from copying this configuration directly to production without adjusting the retention period.
    The inline comments already make it clear this is for demo purposes. Adding PR comments about demo configurations not being production-ready would mean we'd need to comment on every demo-specific setting.
    Delete the comment. The file is clearly marked as a demo configuration, and the short retention period is intentional for that purpose.

Workflow ID: wflow_S4RFAOhW3H3IMBnV


You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

Copy link

cloudflare-workers-and-pages bot commented Jan 3, 2025

Deploying windmill with  Cloudflare Pages  Cloudflare Pages

Latest commit: ccab8d3
Status: ✅  Deploy successful!
Preview URL: https://b5bb4c37.windmill.pages.dev
Branch Preview URL: https://alp-grafana-tempo-loki.windmill.pages.dev

View logs

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Looks good to me! Incremental review on ccab8d3 in 17 seconds

More details
  • Looked at 13 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 1 drafted comments based on config settings.
1. examples/deploy/otel-tracing-grafana/README.md:20
  • Draft comment:
    Consider specifying the exact format or example values for the OpenTelemetry collector endpoint and service name to avoid confusion for users.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    The README.md file provides a comprehensive guide for setting up and using Tempo with Windmill. However, there are a few areas where clarity can be improved.

Workflow ID: wflow_SUJPbOqlM6lMh42G


You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

@rubenfiszel rubenfiszel merged commit 3bfaf73 into main Jan 4, 2025
2 checks passed
@rubenfiszel rubenfiszel deleted the alp/grafana_tempo_loki branch January 4, 2025 02:28
@github-actions github-actions bot locked and limited conversation to collaborators Jan 4, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants