-
Notifications
You must be signed in to change notification settings - Fork 20
chore(demo): add observability infrastructure #128
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
base: main
Are you sure you want to change the base?
Conversation
|
The title of this pull request does not match the conventional commits format. Refer to the CONTRIBUTING.md file for more information. |
1 similar comment
|
The title of this pull request does not match the conventional commits format. Refer to the CONTRIBUTING.md file for more information. |
163118d to
a21a31f
Compare
| @echo "Linting YAML files..." | ||
| yamlfmt -lint -dstar '**/*.yml' '**/*.yaml' | ||
|
|
||
| lint/dockerfile: ## Lint Dockerfiles |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we need a DockerfileLinter&&GithubCheckDockerfileAction. This isn't a Dockerfile-heavy project, and the benefit doesn't justify the added complexity.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it hurt having one? Where is the complexity?
It can save development time by catching trivial errors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point about catching trivial errors. My concern isn't about the linter itself, but about integrating it into the global Makefile and CI pipeline(makefile changes+.hadolint.yaml+lint-dockerfil.yaml).
Since we only have a couple of Dockerfiles that rarely change, adding a mandatory check for everyone feels like a bit of an over-optimization. It adds a dependency and a step to our shared workflow for a very specific use case.
Perhaps this would be better as a recommendation for local development for those who touch the Dockerfiles? That way, we get the benefit without adding overhead to the central build process.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can have the compromise and not run it for the CI.
Or we can only run it when a Dockerfile actually changed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, I'll put away my magnifying glass for now ;) It's not a critical issue, but I'd still like to see this removed in the future if the Dockerfiles prove to be stable with few changes. The number of make all targets is already getting a bit intimidating...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think for the Go tooling I will introduce another way and clean the Makefile soon.
I believe static checks and developer convenience tooling shouldn't intimidate us. This is an open-source project and there will be a lot of contributors (I hope), so automated tools are better than reviewers trying the ensuring the standards.
Adds complete observability stack for demo applications with: - Docker Compose setup for Jaeger, Prometheus, OTel Collector, Grafana - Pre-configured Grafana dashboards (Go metrics, OTel Collector, Services) - k6 load testing scripts for HTTP and gRPC - Dockerfiles for gRPC demo applications - Makefile with 40+ convenience commands - Comprehensive documentation Infrastructure is production-ready with latest 2024-2025 versions: - Jaeger v2.0.0 (native OTLP) - Prometheus v3.0.1 (native OTLP receiver) - OpenTelemetry Collector v0.138.0 - Grafana with metric-to-trace correlation Located under demo/infrastructure/ with future Kubernetes support planned. Signed-off-by: Kemal Akkoyun <[email protected]>
Updates all observability stack components to latest stable versions: - Jaeger: 2.0.0 → 2.11.0 - Prometheus: v3.0.1 → v3.7.3 - OpenTelemetry Collector: 0.138.0 → 0.139.0 - Grafana: latest → 12.2.1 (explicit version) - k6: latest → 1.3.0 (explicit version) Signed-off-by: Kemal Akkoyun <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>
Signed-off-by: Kemal Akkoyun <[email protected]>
eec068f to
d6ea8fa
Compare
y1yang0
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style and quality LGTM. @NameHaibinZhang @ralf0131 @pdelewski can you take a look at the functional side?
| @echo "Linting YAML files..." | ||
| yamlfmt -lint -dstar '**/*.yml' '**/*.yaml' | ||
|
|
||
| lint/dockerfile: ## Lint Dockerfiles |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, I'll put away my magnifying glass for now ;) It's not a critical issue, but I'd still like to see this removed in the future if the Dockerfiles prove to be stable with few changes. The number of make all targets is already getting a bit intimidating...


Overview
Adds a complete observability infrastructure stack for demo applications with production-ready monitoring, tracing, and metrics capabilities.
Key Features
Infrastructure Components
Pre-configured Dashboards
Developer Experience
Quick Start
cd demo/infrastructure/docker-compose make quickstartAccess points:
What's Included
Commits Summary
Testing
All infrastructure components tested and verified working together with the gRPC demo applications.