Skip to content

Conversation

@dprotaso
Copy link
Contributor

@dprotaso dprotaso commented Aug 25, 2025

This introduces the initial OpenTelemetry dashboards. Probably important to note that these are 'best-effort'

The dashboards are now defined in 'code' using jsonnet + a grafana jsonnet lib (https://github.com/grafana/grafonnet)

This makes it easy to edit the dashboard and generate the configmaps. Prior it would be manually edited and exported.

/assign @Cali0707 @evankanderson

Note: I'm deleting the older dashboards as they exist in a separate 'opencensus' branch (https://github.com/knative-extensions/monitoring/tree/opencensus). This was necessary not to break older documentation.

@knative-prow knative-prow bot requested review from houshengbo and upodroid August 25, 2025 18:12
@knative-prow knative-prow bot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Aug 25, 2025
@dprotaso
Copy link
Contributor Author

/assign @upodroid I know you seeded the initial dashboards in this repo - if you have any feedback or follow up work let me know

@dprotaso
Copy link
Contributor Author

dprotaso commented Aug 25, 2025

Note this doesn't have 'eventing' - but should be easy to introduce given the 'dashboard as code' setup we now have

@evankanderson
Copy link
Contributor

Is there any testing for either the existing or new setup? Something as simple as "generate and load config into Prometheus" without running on k8s would be a reasonable first step.

@dprotaso
Copy link
Contributor Author

@dprotaso
Copy link
Contributor Author

dprotaso commented Aug 25, 2025

Ok - made changes and the test scripts work.

Since our latest releases don't have the right OTel fixes I've added an option to install the latest nightly

$ export NIGHTLY_BUILD=1
$ ./test/setup-cluster.sh

Some screenshots
Screenshot 2025-08-25 at 4 20 52 PM
Screenshot 2025-08-25 at 4 20 49 PM
Screenshot 2025-08-25 at 4 20 43 PM

@dprotaso
Copy link
Contributor Author

I added a basic eventing dashboard (metrics for eventing controller and webhook)

@Cali0707
Copy link
Member

Cali0707 commented Sep 3, 2025

@dprotaso when I run this none of the Knative dashboards seem to show up in the dashboards list here:

Screenshot 2025-09-03 at 12 01 45

@dprotaso
Copy link
Contributor Author

dprotaso commented Sep 3, 2025

Are you using ./test/setup-cluster.sh ?

@dprotaso
Copy link
Contributor Author

dprotaso commented Sep 3, 2025

I noticed the eventing dashboard wasn't being installed

@dprotaso
Copy link
Contributor Author

dprotaso commented Sep 3, 2025

The dashboards should be added by a grafana sidecar. It might also take a minute to sync

I'm testing with the latest helm charts from various places. You can try helm repo update

Copy link
Member

@Cali0707 Cali0707 left a comment

Choose a reason for hiding this comment

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

/lgtm

Thanks for putting this together @dprotaso !

@knative-prow knative-prow bot added the lgtm Indicates that a PR is ready to be merged. label Sep 3, 2025
@knative-prow
Copy link

knative-prow bot commented Sep 3, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Cali0707, dprotaso

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@knative-prow knative-prow bot merged commit 903ca1c into knative-extensions:main Sep 3, 2025
2 checks passed
Copy link
Contributor

@evankanderson evankanderson left a comment

Choose a reason for hiding this comment

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

I think I understand this now (and thanks to @Cali0707 for double-checking the process).

In the future, we should probably somewhat better document the setup process in either README.md or CONTRIBUTING.md, but this seems like a good start, and I'm happy for it to have been merged.

/lgtm
/approve

Copy link
Contributor

Choose a reason for hiding this comment

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

These are .json files because everything else uses jsonnet, right? Otherwise, YAML feels like it might be easier to review / adjust.

Copy link
Contributor

Choose a reason for hiding this comment

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

Since JSON can't have comments, can we have a README.md in this directory that points out that these files are generated by ./hack/generate-configmaps.sh?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

These are .json files because everything else uses jsonnet, right?

Yeah jsonnet can't output YAML. We could use two tools (eg. yq) but I didn't want to make this more complicated

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Since JSON can't have comments, can we have a README.md in this directory that points out that these files are generated by ./hack/generate-configmaps.sh?

Let me add a follow up PR

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done - #28

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants