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

[APM] Garbage collection metrics charts #47023

Merged
merged 3 commits into from Oct 9, 2019

Conversation

@dgieselaar
Copy link
Contributor

commented Oct 1, 2019

Closes #36320.

image

@elasticmachine

This comment has been minimized.

Copy link
Contributor

commented Oct 1, 2019

@dgieselaar dgieselaar force-pushed the dgieselaar:jvm-gc-metrics branch from af53b05 to d280f57 Oct 1, 2019
@elasticmachine

This comment has been minimized.

Copy link
Contributor

commented Oct 1, 2019

@dgieselaar dgieselaar force-pushed the dgieselaar:jvm-gc-metrics branch from 4d3d585 to 2458fc2 Oct 2, 2019
@elasticmachine

This comment has been minimized.

Copy link
Contributor

commented Oct 2, 2019

@dgieselaar dgieselaar force-pushed the dgieselaar:jvm-gc-metrics branch 2 times, most recently from 023f3c0 to 9e7b3bc Oct 3, 2019
@elasticmachine

This comment has been minimized.

Copy link
Contributor

commented Oct 3, 2019

@elasticmachine

This comment has been minimized.

Copy link
Contributor

commented Oct 3, 2019

@dgieselaar dgieselaar force-pushed the dgieselaar:jvm-gc-metrics branch from 9e7b3bc to 227b160 Oct 3, 2019
@dgieselaar dgieselaar marked this pull request as ready for review Oct 3, 2019
@dgieselaar dgieselaar requested a review from elastic/apm-ui as a code owner Oct 3, 2019
@elasticmachine

This comment has been minimized.

Copy link
Contributor

commented Oct 3, 2019

@dgieselaar dgieselaar force-pushed the dgieselaar:jvm-gc-metrics branch from 227b160 to 13d14d3 Oct 4, 2019
@elasticmachine

This comment has been minimized.

Copy link
Contributor

commented Oct 4, 2019

@@ -149,7 +149,7 @@ export function asTime(
value: FormatterValue,
{ withUnit = true, defaultValue = NOT_AVAILABLE_LABEL }: FormatterOptions = {}
) {
if (value == null) {
if (value == null || value === undefined) {

This comment has been minimized.

Copy link
@sqren

sqren Oct 4, 2019

Member

value == null is equivalent to value === null || value === undefined

This comment has been minimized.

Copy link
@dgieselaar

dgieselaar Oct 7, 2019

Author Contributor

Ah, totally missed that this was == and not ===. Not used to the former anymore 😅

export const METRIC_JAVA_GC_COUNT = 'jvm.gc.count';
export const METRIC_JAVA_GC_TIME = 'jvm.gc.time';

export const LABELS = 'labels';

This comment has been minimized.

Copy link
@sqren

sqren Oct 4, 2019

Member

Shouldn't this be LABELS_NAME = 'labels.name'?

This comment has been minimized.

Copy link
@dgieselaar

dgieselaar Oct 7, 2019

Author Contributor

Yeah, that's better. I used ${LABELS}.name because I understood labels to be fully dynamic, and I was overthinking it.

derivative: {
buckets_path: 'max'
}
},

This comment has been minimized.

Copy link
@sqren

sqren Oct 4, 2019

Member

Maybe add a comment about how the java agent sends gc.count and gc.time as monotonically increasing counters, and that we need to get the delta.

And perhaps also explain the bucket script below.

}

const { value } = bucket.value;
const y = value === null || isNaN(value) ? null : value;

This comment has been minimized.

Copy link
@sqren

sqren Oct 4, 2019

Member

Looking at this I'm not entirely sure what we expect value to be. If we expect it to be an integer we could do:

const y = Number.isInteger(value) ? value : null;
@sqren
sqren approved these changes Oct 4, 2019
Copy link
Member

left a comment

lgtm

@dgieselaar dgieselaar force-pushed the dgieselaar:jvm-gc-metrics branch from 13d14d3 to e30de50 Oct 7, 2019
@elasticmachine

This comment has been minimized.

Copy link
Contributor

commented Oct 7, 2019

@dgieselaar

This comment has been minimized.

Copy link
Contributor Author

commented Oct 7, 2019

@roncohen Right now the numbers to the legend display the average of the counter reported by the agents. I could change that to the average of the values displayed in the chart, and then round it off for the garbage collection count. Thoughts?

@roncohen

This comment has been minimized.

Copy link
Contributor

commented Oct 7, 2019

@gieselaar to be sure:

I could change that to the average of the values displayed in the chart, and then round it off for the garbage collection count.

the number in the legend would be the average displayed on the chart. For counts specifically, we'd always round to full integer, also on the popover. Thanks! 👍

@roncohen

This comment has been minimized.

Copy link
Contributor

commented Oct 7, 2019

@felixbarny @eyalkoren @nehaduggal please have a very close look at this to make sure the numbers and functions (max/avg etc) makes sense and that label names etc. are what you'd expect.

@felixbarny

This comment has been minimized.

Copy link
Member

commented Oct 7, 2019

Will this view still allow to view the metrics of different JVMs for the same service? I lost track of what the plan is in regards to the JVM table and how to navigate to the charts.

It might make sense to be more explicit about the aggregation and add it to the label or the chart headline like Garbage collection count (avg).

It might be just me but maybe a short demo/sync meeting could be useful.

dgieselaar added 2 commits Oct 1, 2019
Closes #36320.
@dgieselaar dgieselaar force-pushed the dgieselaar:jvm-gc-metrics branch from e30de50 to acbc7b7 Oct 8, 2019
@elasticmachine

This comment has been minimized.

Copy link
Contributor

commented Oct 8, 2019

@roncohen

This comment has been minimized.

Copy link
Contributor

commented Oct 9, 2019

@dgieselaar showed it in the APM UI weekly. If you don't mind @dgieselaar, i think it would be good to show it to the Java team + @nehaduggal to get their sign off on this.

@dgieselaar

This comment has been minimized.

Copy link
Contributor Author

commented Oct 9, 2019

@roncohen I've checked with Felix, he's OK with merging as-is, so @sqren can deploy it and everybody can have a look at it. We can then discuss it in the meeting tomorrow and patch if necessary.

@dgieselaar dgieselaar merged commit 43d1c58 into elastic:master Oct 9, 2019
52 checks passed
52 checks passed
API integration tests node scripts/functional_tests --config test/api_integration/config.js --bail --debug
Details
Browser tests yarn run grunt test:browser-ci
Details
Build kbn_tp_sample_panel_action yarn build
Details
CLA All commits in pull request signed
Details
Check core API changes node scripts/check_core_api_changes
Details
Check file casing node scripts/check_file_casing --quiet
Details
Check licenses node scripts/check_licenses --dev
Details
Firefox smoke test node scripts/functional_tests --bail --debug --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/kibana/build/oss/kibana-8.0.0-SNAPSHOT-linux-x86_64 --include-tag smoke --config test/functional/config.firefox.js
Details
Functional tests / Group 1 yarn run grunt run:functionalTests_ciGroup1
Details
Functional tests / Group 10 yarn run grunt run:functionalTests_ciGroup10
Details
Functional tests / Group 11 yarn run grunt run:functionalTests_ciGroup11
Details
Functional tests / Group 12 yarn run grunt run:functionalTests_ciGroup12
Details
Functional tests / Group 2 yarn run grunt run:functionalTests_ciGroup2
Details
Functional tests / Group 3 yarn run grunt run:functionalTests_ciGroup3
Details
Functional tests / Group 4 yarn run grunt run:functionalTests_ciGroup4
Details
Functional tests / Group 5 yarn run grunt run:functionalTests_ciGroup5
Details
Functional tests / Group 6 yarn run grunt run:functionalTests_ciGroup6
Details
Functional tests / Group 7 yarn run grunt run:functionalTests_ciGroup7
Details
Functional tests / Group 8 yarn run grunt run:functionalTests_ciGroup8
Details
Functional tests / Group 9 yarn run grunt run:functionalTests_ciGroup9
Details
Internationalization check node scripts/i18n_check --ignore-missing
Details
Interpreter functional tests node scripts/functional_tests --config test/interpreter_functional/config.js --bail --debug --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/kibana/build/oss/kibana-8.0.0-SNAPSHOT-linux-x86_64-1
Details
Jest integration tests yarn run grunt test:jest_integration
Details
Jest tests yarn run grunt test:jest
Details
Mocha tests node scripts/mocha
Details
Plugin functional tests node scripts/functional_tests --config test/plugin_functional/config.js --bail --debug --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/kibana/build/oss/kibana-8.0.0-SNAPSHOT-linux-x86_64-1
Details
Project tests yarn run grunt test:projects
Details
Type check node scripts/type_check
Details
TypeScript - all files belong to a TypeScript project node scripts/check_ts_projects
Details
Verify NOTICE.txt node scripts/notice --validate
Details
Verify dependency versions yarn run grunt verifyDependencyVersions
Details
X-Pack Chrome Functional tests / Group 1 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/install/kibana-1 --include-tag ciGroup1
Details
X-Pack Chrome Functional tests / Group 10 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/install/kibana-5 --include-tag ciGroup10
Details
X-Pack Chrome Functional tests / Group 2 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/install/kibana-2 --include-tag ciGroup2
Details
X-Pack Chrome Functional tests / Group 3 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/install/kibana-3 --include-tag ciGroup3
Details
X-Pack Chrome Functional tests / Group 4 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/install/kibana-4 --include-tag ciGroup4
Details
X-Pack Chrome Functional tests / Group 5 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/install/kibana-5 --include-tag ciGroup5
Details
X-Pack Chrome Functional tests / Group 6 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/install/kibana-1 --include-tag ciGroup6
Details
X-Pack Chrome Functional tests / Group 7 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/install/kibana-2 --include-tag ciGroup7
Details
X-Pack Chrome Functional tests / Group 8 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/install/kibana-3 --include-tag ciGroup8
Details
X-Pack Chrome Functional tests / Group 9 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/install/kibana-4 --include-tag ciGroup9
Details
X-Pack Jest node scripts/jest --ci --verbose
Details
X-Pack Mocha yarn test
Details
X-Pack SIEM cyclic dependency test node legacy/plugins/siem/scripts/check_circular_deps
Details
X-Pack firefox smoke test node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pipeline-pull-request/install/kibana-6 --include-tag smoke --config test/functional/config.firefox.js
Details
elasticsearch-ci/docs Build finished.
Details
eslint node scripts/eslint --no-cache
Details
kibana-ci Build finished.
Details
prbot:outdated
prbot:release note labels
prbot:release version labels
sasslint node scripts/sasslint
Details
@dgieselaar dgieselaar deleted the dgieselaar:jvm-gc-metrics branch Oct 9, 2019
dgieselaar added a commit to dgieselaar/kibana that referenced this pull request Oct 9, 2019
* [APM] Garbage collection metrics charts

Closes elastic#36320.

* Review feedback

* Display average of delta in gc chart
dgieselaar added a commit that referenced this pull request Oct 10, 2019
* [APM] Garbage collection metrics charts

Closes #36320.

* Review feedback

* Display average of delta in gc chart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.