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

More native histograms related utils and renaming #1270

Merged
merged 5 commits into from
Jun 24, 2024

Conversation

krajorama
Copy link
Contributor

@krajorama krajorama commented Jun 24, 2024

Adding two utilities and also making the naming shorter and more consistent.

For grafana/mimir#7674
For https://github.com/grafana/deployment_tools/pull/136550

For grafana/deployment_tools#136550

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
// histograms. Metric name should be provided without _bucket suffix.
// If from_recording is true, the function will assume :sum_rate metric
// suffix and no rate needed.
ncHistogramQuantile(percentile, metric, selector, sum_by=[], rate_interval='$__rate_interval', multiplier='', from_recording=false)::
Copy link
Contributor

Choose a reason for hiding this comment

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

If it supports both native an classic, why do we mention nc at all? Can it just be histogramQuantile?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

that doesn't imply input/output of the {classic: '...', native: '...'} form and will make it harder to search for stuff

Copy link
Contributor Author

Choose a reason for hiding this comment

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

also it's for me to keep track of native histograms migration and keep my sanity

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Comment on lines 3 to 7
jsonnetfile.lock.json: jsonnetfile.json
jb install

vendor: jsonnetfile.lock.json
jb install
Copy link
Member

Choose a reason for hiding this comment

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

This'll just execute the same command twice, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Nope, make seems smart enough, at least my version GNU Make 4.2.1

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oh wait, you mean if the lock changed.
In my test it does run it again, but jb install is fast, because it doesn't download stuff

Copy link
Member

Choose a reason for hiding this comment

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

I'd simply check for vendor/, jb install will create jsonnetfile.lock.json either way.

Copy link
Member

Choose a reason for hiding this comment

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

I am inspired by the use of Make in this way, might use it elsewhere. ;)

Copy link
Member

Choose a reason for hiding this comment

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

Oh, now I get it, the jsonnet.lock.json target ensures vendor is up-to-date when the lock file changes.

Copy link
Member

Choose a reason for hiding this comment

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

I think this'll prevent jb install being executed twice:

Suggested change
jsonnetfile.lock.json: jsonnetfile.json
jb install
vendor: jsonnetfile.lock.json
jb install
vendor jsonnetfile.lock.json: jsonnetfile.json
jb install

Copy link
Contributor Author

Choose a reason for hiding this comment

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

nice, even shorter, thanks!

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
@krajorama krajorama merged commit bf12954 into master Jun 24, 2024
2 checks passed
@krajorama krajorama deleted the krajo/consistent-naming branch June 24, 2024 11:32
CharlieTLe added a commit to CharlieTLe/cortex-jsonnet that referenced this pull request Jul 21, 2024
Updates grafana-builder and mixin-utils to latest version in master branch. This will be helpful in creating Grafana panels that use the timeseriesPanel instead of the deprecated panel.

grafana-builder changes:

- grafana-builder: add support for native/classic stat panel query (grafana/jsonnet-libs#1285)
- More native histograms related utils and renaming (grafana/jsonnet-libs#1270)
- Support recording and switching between naive and classic latency histograms (grafana/jsonnet-libs#1150)
- Basic native histogram utilities (grafana/jsonnet-libs#1164)
- grafana-builder: rename template variable "Data Source" to "Data source" (grafana/jsonnet-libs#1111)
- Mixins: draw graphs at full resolution (grafana/jsonnet-libs#825)
- Allow dashboards to show gRPC codes as labels (grafana/jsonnet-libs#1098)
- Allow configuring sort order for variables (grafana/jsonnet-libs#1014)
- remove unused/wrong step param (grafana/jsonnet-libs#999)
- Show cancelled requests in grey on QPS dashboards. (grafana/jsonnet-libs#988)
- Show cancelled requests in yellow on QPS dashboards. (grafana/jsonnet-libs#986)
- Add timeseriesPanel (grafana/jsonnet-libs#824)
- Allow including "All" for single template var
- Allow datasource's regex to be configured
- grafana-builder: make allValue configurable (grafana/jsonnet-libs#703)
- grafana_builder: add dashboard link func (grafana/jsonnet-libs#683)
- Add 'Data Source' label for the default datasource template variable. (grafana/jsonnet-libs#672)
- enable toolip by default (grafana/jsonnet-libs#665)

mixin-utils changes:

- grafana-builder: add support for native/classic stat panel query (grafana/jsonnet-libs#1285)
- More native histograms related utils and renaming (grafana/jsonnet-libs#1270)
- nativeClassicSumBy: format list of labels nicer (grafana/jsonnet-libs#1204)
- Support recording and switching between naive and classic latency histograms (grafana/jsonnet-libs#1150)
- chore: fix hardcoded range interval (grafana/jsonnet-libs#1190)
- Basic native histogram utilities (grafana/jsonnet-libs#1164)
- utils: allow defining native histogram recording rule (grafana/jsonnet-libs#1156)
- modify withRunbookURL to allow internal annotation (grafana/jsonnet-libs#1139)
- mixin-utils: drop unsupported step target parameter (grafana/jsonnet-libs#1128)
- Mixins: draw graphs at full resolution (grafana/jsonnet-libs#825)
- Align with style conventions (grafana/jsonnet-libs#1038)
- Add a function to remove an alert rule (grafana/jsonnet-libs#812)
- mixin-utils: Parameterize interval for histogramRules (grafana/jsonnet-libs#806)
- refactor(grafana/jsonnet-libsprometheus): shard mixins over multiple configmaps (grafana/jsonnet-libs#497)
- Not all Prometheus rules are alerts. (grafana/jsonnet-libs#490)
CharlieTLe added a commit to CharlieTLe/cortex-jsonnet that referenced this pull request Jul 21, 2024
Updates grafana-builder and mixin-utils to latest version in master branch. This will be helpful in creating Grafana panels that use the timeseriesPanel instead of the deprecated panel.

grafana-builder changes:

- grafana-builder: add support for native/classic stat panel query (grafana/jsonnet-libs#1285)
- More native histograms related utils and renaming (grafana/jsonnet-libs#1270)
- Support recording and switching between naive and classic latency histograms (grafana/jsonnet-libs#1150)
- Basic native histogram utilities (grafana/jsonnet-libs#1164)
- grafana-builder: rename template variable "Data Source" to "Data source" (grafana/jsonnet-libs#1111)
- Mixins: draw graphs at full resolution (grafana/jsonnet-libs#825)
- Allow dashboards to show gRPC codes as labels (grafana/jsonnet-libs#1098)
- Allow configuring sort order for variables (grafana/jsonnet-libs#1014)
- remove unused/wrong step param (grafana/jsonnet-libs#999)
- Show cancelled requests in grey on QPS dashboards. (grafana/jsonnet-libs#988)
- Show cancelled requests in yellow on QPS dashboards. (grafana/jsonnet-libs#986)
- Add timeseriesPanel (grafana/jsonnet-libs#824)
- Allow including "All" for single template var
- Allow datasource's regex to be configured
- grafana-builder: make allValue configurable (grafana/jsonnet-libs#703)
- grafana_builder: add dashboard link func (grafana/jsonnet-libs#683)
- Add 'Data Source' label for the default datasource template variable. (grafana/jsonnet-libs#672)
- enable toolip by default (grafana/jsonnet-libs#665)

mixin-utils changes:

- grafana-builder: add support for native/classic stat panel query (grafana/jsonnet-libs#1285)
- More native histograms related utils and renaming (grafana/jsonnet-libs#1270)
- nativeClassicSumBy: format list of labels nicer (grafana/jsonnet-libs#1204)
- Support recording and switching between naive and classic latency histograms (grafana/jsonnet-libs#1150)
- chore: fix hardcoded range interval (grafana/jsonnet-libs#1190)
- Basic native histogram utilities (grafana/jsonnet-libs#1164)
- utils: allow defining native histogram recording rule (grafana/jsonnet-libs#1156)
- modify withRunbookURL to allow internal annotation (grafana/jsonnet-libs#1139)
- mixin-utils: drop unsupported step target parameter (grafana/jsonnet-libs#1128)
- Mixins: draw graphs at full resolution (grafana/jsonnet-libs#825)
- Align with style conventions (grafana/jsonnet-libs#1038)
- Add a function to remove an alert rule (grafana/jsonnet-libs#812)
- mixin-utils: Parameterize interval for histogramRules (grafana/jsonnet-libs#806)
- refactor(grafana/jsonnet-libsprometheus): shard mixins over multiple configmaps (grafana/jsonnet-libs#497)
- Not all Prometheus rules are alerts. (grafana/jsonnet-libs#490)

Signed-off-by: Charlie Le <charlie_le@apple.com>
CharlieTLe added a commit to CharlieTLe/cortex-jsonnet that referenced this pull request Jul 21, 2024
Updates grafana-builder and mixin-utils to latest version in master branch. This will be helpful in creating Grafana panels that use the timeseriesPanel instead of the deprecated panel.

grafana-builder changes:

- grafana-builder: add support for native/classic stat panel query (grafana/jsonnet-libs#1285)
- More native histograms related utils and renaming (grafana/jsonnet-libs#1270)
- Support recording and switching between naive and classic latency histograms (grafana/jsonnet-libs#1150)
- Basic native histogram utilities (grafana/jsonnet-libs#1164)
- grafana-builder: rename template variable "Data Source" to "Data source" (grafana/jsonnet-libs#1111)
- Mixins: draw graphs at full resolution (grafana/jsonnet-libs#825)
- Allow dashboards to show gRPC codes as labels (grafana/jsonnet-libs#1098)
- Allow configuring sort order for variables (grafana/jsonnet-libs#1014)
- remove unused/wrong step param (grafana/jsonnet-libs#999)
- Show cancelled requests in grey on QPS dashboards. (grafana/jsonnet-libs#988)
- Show cancelled requests in yellow on QPS dashboards. (grafana/jsonnet-libs#986)
- Add timeseriesPanel (grafana/jsonnet-libs#824)
- Allow including "All" for single template var
- Allow datasource's regex to be configured
- grafana-builder: make allValue configurable (grafana/jsonnet-libs#703)
- grafana_builder: add dashboard link func (grafana/jsonnet-libs#683)
- Add 'Data Source' label for the default datasource template variable. (grafana/jsonnet-libs#672)
- enable toolip by default (grafana/jsonnet-libs#665)

mixin-utils changes:

- grafana-builder: add support for native/classic stat panel query (grafana/jsonnet-libs#1285)
- More native histograms related utils and renaming (grafana/jsonnet-libs#1270)
- nativeClassicSumBy: format list of labels nicer (grafana/jsonnet-libs#1204)
- Support recording and switching between naive and classic latency histograms (grafana/jsonnet-libs#1150)
- chore: fix hardcoded range interval (grafana/jsonnet-libs#1190)
- Basic native histogram utilities (grafana/jsonnet-libs#1164)
- utils: allow defining native histogram recording rule (grafana/jsonnet-libs#1156)
- modify withRunbookURL to allow internal annotation (grafana/jsonnet-libs#1139)
- mixin-utils: drop unsupported step target parameter (grafana/jsonnet-libs#1128)
- Mixins: draw graphs at full resolution (grafana/jsonnet-libs#825)
- Align with style conventions (grafana/jsonnet-libs#1038)
- Add a function to remove an alert rule (grafana/jsonnet-libs#812)
- mixin-utils: Parameterize interval for histogramRules (grafana/jsonnet-libs#806)
- refactor(grafana/jsonnet-libsprometheus): shard mixins over multiple configmaps (grafana/jsonnet-libs#497)
- Not all Prometheus rules are alerts. (grafana/jsonnet-libs#490)

Signed-off-by: Charlie Le <charlie_le@apple.com>
friedrichg pushed a commit to cortexproject/cortex-jsonnet that referenced this pull request Aug 20, 2024
Updates grafana-builder and mixin-utils to latest version in master branch. This will be helpful in creating Grafana panels that use the timeseriesPanel instead of the deprecated panel.

grafana-builder changes:

- grafana-builder: add support for native/classic stat panel query (grafana/jsonnet-libs#1285)
- More native histograms related utils and renaming (grafana/jsonnet-libs#1270)
- Support recording and switching between naive and classic latency histograms (grafana/jsonnet-libs#1150)
- Basic native histogram utilities (grafana/jsonnet-libs#1164)
- grafana-builder: rename template variable "Data Source" to "Data source" (grafana/jsonnet-libs#1111)
- Mixins: draw graphs at full resolution (grafana/jsonnet-libs#825)
- Allow dashboards to show gRPC codes as labels (grafana/jsonnet-libs#1098)
- Allow configuring sort order for variables (grafana/jsonnet-libs#1014)
- remove unused/wrong step param (grafana/jsonnet-libs#999)
- Show cancelled requests in grey on QPS dashboards. (grafana/jsonnet-libs#988)
- Show cancelled requests in yellow on QPS dashboards. (grafana/jsonnet-libs#986)
- Add timeseriesPanel (grafana/jsonnet-libs#824)
- Allow including "All" for single template var
- Allow datasource's regex to be configured
- grafana-builder: make allValue configurable (grafana/jsonnet-libs#703)
- grafana_builder: add dashboard link func (grafana/jsonnet-libs#683)
- Add 'Data Source' label for the default datasource template variable. (grafana/jsonnet-libs#672)
- enable toolip by default (grafana/jsonnet-libs#665)

mixin-utils changes:

- grafana-builder: add support for native/classic stat panel query (grafana/jsonnet-libs#1285)
- More native histograms related utils and renaming (grafana/jsonnet-libs#1270)
- nativeClassicSumBy: format list of labels nicer (grafana/jsonnet-libs#1204)
- Support recording and switching between naive and classic latency histograms (grafana/jsonnet-libs#1150)
- chore: fix hardcoded range interval (grafana/jsonnet-libs#1190)
- Basic native histogram utilities (grafana/jsonnet-libs#1164)
- utils: allow defining native histogram recording rule (grafana/jsonnet-libs#1156)
- modify withRunbookURL to allow internal annotation (grafana/jsonnet-libs#1139)
- mixin-utils: drop unsupported step target parameter (grafana/jsonnet-libs#1128)
- Mixins: draw graphs at full resolution (grafana/jsonnet-libs#825)
- Align with style conventions (grafana/jsonnet-libs#1038)
- Add a function to remove an alert rule (grafana/jsonnet-libs#812)
- mixin-utils: Parameterize interval for histogramRules (grafana/jsonnet-libs#806)
- refactor(grafana/jsonnet-libsprometheus): shard mixins over multiple configmaps (grafana/jsonnet-libs#497)
- Not all Prometheus rules are alerts. (grafana/jsonnet-libs#490)

Signed-off-by: Charlie Le <charlie_le@apple.com>
friedrichg added a commit to cortexproject/cortex-jsonnet that referenced this pull request Oct 23, 2024
* Update jsonnet-libs to Fri Jul 19 12:51:49 2024

Updates grafana-builder and mixin-utils to latest version in master branch. This will be helpful in creating Grafana panels that use the timeseriesPanel instead of the deprecated panel.

grafana-builder changes:

- grafana-builder: add support for native/classic stat panel query (grafana/jsonnet-libs#1285)
- More native histograms related utils and renaming (grafana/jsonnet-libs#1270)
- Support recording and switching between naive and classic latency histograms (grafana/jsonnet-libs#1150)
- Basic native histogram utilities (grafana/jsonnet-libs#1164)
- grafana-builder: rename template variable "Data Source" to "Data source" (grafana/jsonnet-libs#1111)
- Mixins: draw graphs at full resolution (grafana/jsonnet-libs#825)
- Allow dashboards to show gRPC codes as labels (grafana/jsonnet-libs#1098)
- Allow configuring sort order for variables (grafana/jsonnet-libs#1014)
- remove unused/wrong step param (grafana/jsonnet-libs#999)
- Show cancelled requests in grey on QPS dashboards. (grafana/jsonnet-libs#988)
- Show cancelled requests in yellow on QPS dashboards. (grafana/jsonnet-libs#986)
- Add timeseriesPanel (grafana/jsonnet-libs#824)
- Allow including "All" for single template var
- Allow datasource's regex to be configured
- grafana-builder: make allValue configurable (grafana/jsonnet-libs#703)
- grafana_builder: add dashboard link func (grafana/jsonnet-libs#683)
- Add 'Data Source' label for the default datasource template variable. (grafana/jsonnet-libs#672)
- enable toolip by default (grafana/jsonnet-libs#665)

mixin-utils changes:

- grafana-builder: add support for native/classic stat panel query (grafana/jsonnet-libs#1285)
- More native histograms related utils and renaming (grafana/jsonnet-libs#1270)
- nativeClassicSumBy: format list of labels nicer (grafana/jsonnet-libs#1204)
- Support recording and switching between naive and classic latency histograms (grafana/jsonnet-libs#1150)
- chore: fix hardcoded range interval (grafana/jsonnet-libs#1190)
- Basic native histogram utilities (grafana/jsonnet-libs#1164)
- utils: allow defining native histogram recording rule (grafana/jsonnet-libs#1156)
- modify withRunbookURL to allow internal annotation (grafana/jsonnet-libs#1139)
- mixin-utils: drop unsupported step target parameter (grafana/jsonnet-libs#1128)
- Mixins: draw graphs at full resolution (grafana/jsonnet-libs#825)
- Align with style conventions (grafana/jsonnet-libs#1038)
- Add a function to remove an alert rule (grafana/jsonnet-libs#812)
- mixin-utils: Parameterize interval for histogramRules (grafana/jsonnet-libs#806)
- refactor(grafana/jsonnet-libsprometheus): shard mixins over multiple configmaps (grafana/jsonnet-libs#497)
- Not all Prometheus rules are alerts. (grafana/jsonnet-libs#490)

Signed-off-by: Charlie Le <charlie_le@apple.com>

* Use `timeseriesPanel` instead of `panel` when creating panels

Fixes: #44
Depends on: #57

Signed-off-by: Charlie Le <charlie_le@apple.com>

* Add units to timeseries panel

The yaxes field doesn't seem to do anything in the timeseries panel and was replaced with the units field instead. So I defaulted the units to be short and allowed it to be set for the panel.

Signed-off-by: Charlie Le <charlie_le@apple.com>

* Update CHANGELOG.md

---------

Signed-off-by: Charlie Le <charlie_le@apple.com>
Co-authored-by: Friedrich Gonzalez <1517449+friedrichg@users.noreply.github.com>
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.

4 participants