Conversation
Vale Linting ResultsSummary: 6 warnings found
|
| File | Line | Rule | Message |
|---|---|---|---|
| packages/websphere_otel/docs/README.md | 18 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'using' instead of 'via'. |
| packages/websphere_otel/docs/README.md | 44 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'. |
| packages/websphere_otel/docs/README.md | 45 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'. |
| packages/websphere_otel/docs/README.md | 46 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'. |
| packages/websphere_otel/docs/README.md | 47 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'. |
| packages/websphere_otel/docs/README.md | 48 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'using' instead of 'via'. |
The Vale linter checks documentation changes against the Elastic Docs style guide.
To use Vale locally or report issues, refer to Elastic style guide for Vale.
💚 Build Succeeded
History
|
There was a problem hiding this comment.
Pull request overview
Adds a new websphere_otel content package that ships Kibana assets (dashboards, alert rule templates, and SLO templates) for IBM WebSphere metrics collected via the OpenTelemetry Collector/Prometheus receiver.
Changes:
- Introduces the
websphere_otelpackage scaffolding (manifest, license, changelog, docs, images). - Adds four Kibana dashboards covering overview, servlet performance, resource pools, and JVM health.
- Adds ES|QL-based alert rule templates and two SLO templates for servlet error rate and latency.
Reviewed changes
Copilot reviewed 19 out of 28 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/websphere_otel/manifest.yml | Package definition (metadata, conditions, discovery, screenshots/icons). |
| packages/websphere_otel/LICENSE.txt | Elastic License 2.0 text for the package. |
| packages/websphere_otel/changelog.yml | Initial changelog entry for v0.1.0. |
| packages/websphere_otel/docs/README.md | Package documentation + setup/config example + asset inventory. |
| packages/websphere_otel/img/overview.png | Overview dashboard screenshot. |
| packages/websphere_otel/img/servlet_performance.png | Servlet performance dashboard screenshot. |
| packages/websphere_otel/img/resource_pools.png | Resource pools dashboard screenshot. |
| packages/websphere_otel/img/jvm_health.png | JVM dashboard screenshot. |
| packages/websphere_otel/img/webspere_otel_logo.svg | Package icon asset. |
| packages/websphere_otel/kibana/dashboard/websphere_otel-overview.json | Overview dashboard saved object. |
| packages/websphere_otel/kibana/dashboard/websphere_otel-servlet-performance.json | Servlet performance dashboard saved object. |
| packages/websphere_otel/kibana/dashboard/websphere_otel-resource-pools.json | Resource pools dashboard saved object. |
| packages/websphere_otel/kibana/dashboard/websphere_otel-jvm.json | JVM health dashboard saved object. |
| packages/websphere_otel/kibana/alerting_rule_template/websphere_otel-webcontainer-thread-pool-saturation.json | Alert rule template for WebContainer thread pool saturation. |
| packages/websphere_otel/kibana/alerting_rule_template/websphere_otel-transaction-timeouts.json | Alert rule template for transaction timeouts. |
| packages/websphere_otel/kibana/alerting_rule_template/websphere_otel-session-capacity-exhausted.json | Alert rule template for session rejection rate. |
| packages/websphere_otel/kibana/alerting_rule_template/websphere_otel-servlet-error-rate-elevated.json | Alert rule template for elevated servlet error rate. |
| packages/websphere_otel/kibana/alerting_rule_template/websphere_otel-jvm-heap-memory-pressure.json | Alert rule template for JVM heap utilization. |
| packages/websphere_otel/kibana/alerting_rule_template/websphere_otel-hung-threads-detected.json | Alert rule template for hung threads. |
| packages/websphere_otel/kibana/alerting_rule_template/websphere_otel-connection-pool-high-utilization.json | Alert rule template for connection pool utilization. |
| packages/websphere_otel/kibana/alerting_rule_template/websphere_otel-connection-pool-faults.json | Alert rule template for connection pool faults. |
| packages/websphere_otel/kibana/slo_template/websphere_otel-servlet-error-rate-99.5-Rolling30Days.json | SLO template for servlet error rate timeslice SLI. |
| packages/websphere_otel/kibana/slo_template/websphere_otel-avg-servlet-response-time-99.5-Rolling30Days.json | SLO template for average servlet response time timeslice SLI. |
| packages/websphere_otel/_dev/shared/kibana/websphere_otel-overview.yaml | Source YAML for generating the overview dashboard. |
| packages/websphere_otel/_dev/shared/kibana/websphere_otel-servlet-performance.yaml | Source YAML for generating the servlet performance dashboard. |
| packages/websphere_otel/_dev/shared/kibana/websphere_otel-resource-pools.yaml | Source YAML for generating the resource pools dashboard. |
| packages/websphere_otel/_dev/shared/kibana/websphere_otel-jvm.yaml | Source YAML for generating the JVM dashboard. |
| .github/CODEOWNERS | Adds package ownership entry for websphere_otel. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| elastic: | ||
| subscription: "basic" | ||
| discovery: | ||
| fields: [] |
There was a problem hiding this comment.
discovery uses fields: [], but other type: content packages in this repo use discovery.datasets to declare the dataset(s) the assets apply to (e.g., packages/apache_otel/manifest.yml). Using fields here is likely invalid and may break package validation/discovery. Update this to discovery: { datasets: [ { name: "websphere.otel" } ] } (or the correct dataset name).
| fields: [] | |
| datasets: | |
| - name: websphere.otel |
| icons: | ||
| - src: /img/webspere_otel_logo.svg | ||
| title: WebSphere OTel logo |
There was a problem hiding this comment.
The icon filename/path uses webspere_otel_logo.svg (missing the "h" in "websphere"). While it currently matches the checked-in file, this typo is likely unintentional and can cause confusion/inconsistency with the package name/branding. Consider renaming the asset to websphere_otel_logo.svg and updating this reference accordingly.
| "field": "was_servlet_errors_total" | ||
| }, | ||
| { | ||
| "name": "B", | ||
| "aggregation": "min", | ||
| "field": "was_servlet_errors_total" | ||
| }, | ||
| { | ||
| "name": "C", | ||
| "aggregation": "max", | ||
| "field": "was_servlet_requests_total" | ||
| }, | ||
| { | ||
| "name": "D", | ||
| "aggregation": "min", | ||
| "field": "was_servlet_requests_total" |
There was a problem hiding this comment.
The SLO metric fields here omit the metrics. prefix (e.g. was_servlet_errors_total). In this package’s dashboards/alerts, the same metrics are referenced as metrics.was_servlet_*, which suggests the indexed field names are under the metrics object. If so, these SLOs will not find the fields and will never evaluate correctly. Align the SLO field values with the actual indexed field paths used elsewhere in the package (likely metrics.was_servlet_errors_total / metrics.was_servlet_requests_total).
| "field": "was_servlet_errors_total" | |
| }, | |
| { | |
| "name": "B", | |
| "aggregation": "min", | |
| "field": "was_servlet_errors_total" | |
| }, | |
| { | |
| "name": "C", | |
| "aggregation": "max", | |
| "field": "was_servlet_requests_total" | |
| }, | |
| { | |
| "name": "D", | |
| "aggregation": "min", | |
| "field": "was_servlet_requests_total" | |
| "field": "metrics.was_servlet_errors_total" | |
| }, | |
| { | |
| "name": "B", | |
| "aggregation": "min", | |
| "field": "metrics.was_servlet_errors_total" | |
| }, | |
| { | |
| "name": "C", | |
| "aggregation": "max", | |
| "field": "metrics.was_servlet_requests_total" | |
| }, | |
| { | |
| "name": "D", | |
| "aggregation": "min", | |
| "field": "metrics.was_servlet_requests_total" |
| "field": "was_servlet_response_time_seconds_total" | ||
| }, | ||
| { | ||
| "name": "B", | ||
| "aggregation": "min", | ||
| "field": "was_servlet_response_time_seconds_total" | ||
| }, | ||
| { | ||
| "name": "C", | ||
| "aggregation": "max", | ||
| "field": "was_servlet_requests_total" | ||
| }, | ||
| { | ||
| "name": "D", | ||
| "aggregation": "min", | ||
| "field": "was_servlet_requests_total" |
There was a problem hiding this comment.
The SLO metric fields here omit the metrics. prefix (e.g. was_servlet_response_time_seconds_total, was_servlet_requests_total). This package’s dashboards/alerts reference these metrics as metrics.was_*, so these SLOs likely won’t match any fields and won’t evaluate. Update the SLO field paths to match the actual indexed field names used elsewhere (likely metrics.was_servlet_response_time_seconds_total / metrics.was_servlet_requests_total).
| "field": "was_servlet_response_time_seconds_total" | |
| }, | |
| { | |
| "name": "B", | |
| "aggregation": "min", | |
| "field": "was_servlet_response_time_seconds_total" | |
| }, | |
| { | |
| "name": "C", | |
| "aggregation": "max", | |
| "field": "was_servlet_requests_total" | |
| }, | |
| { | |
| "name": "D", | |
| "aggregation": "min", | |
| "field": "was_servlet_requests_total" | |
| "field": "metrics.was_servlet_response_time_seconds_total" | |
| }, | |
| { | |
| "name": "B", | |
| "aggregation": "min", | |
| "field": "metrics.was_servlet_response_time_seconds_total" | |
| }, | |
| { | |
| "name": "C", | |
| "aggregation": "max", | |
| "field": "metrics.was_servlet_requests_total" | |
| }, | |
| { | |
| "name": "D", | |
| "aggregation": "min", | |
| "field": "metrics.was_servlet_requests_total" |
| "timeWindowUnit": "m", | ||
| "groupBy": "row", | ||
| "termField": "host.name", | ||
| "termSize": 10 |
There was a problem hiding this comment.
All other .es-query alerting_rule_template definitions in this repo include an explicit excludeHitsFromPreviousRun setting (e.g. packages/apache_otel/kibana/alerting_rule_template/apache_otel-high-server-load.json). This template omits it, which can change default behavior and potentially create duplicate/noisy alerts across runs. Add excludeHitsFromPreviousRun (typically true for these aggregated ES|QL rules) to the params block for consistency and predictable behavior.
| "termSize": 10 | |
| "termSize": 10, | |
| "excludeHitsFromPreviousRun": true |
| "timeWindowUnit": "m", | ||
| "groupBy": "row", | ||
| "termField": "attributes.appname", | ||
| "termSize": 10 |
There was a problem hiding this comment.
This alert rule template omits the excludeHitsFromPreviousRun parameter that is consistently set on .es-query ES|QL templates across this repo. Add an explicit excludeHitsFromPreviousRun value (commonly true) to ensure predictable behavior and avoid repeated alerts from the same matching rows across executions.
| "termSize": 10 | |
| "termSize": 10, | |
| "excludeHitsFromPreviousRun": true |
| "timeWindowSize": 10, | ||
| "timeWindowUnit": "m", | ||
| "groupBy": "row", | ||
| "termField": "host.name", | ||
| "termSize": 10 | ||
| } |
There was a problem hiding this comment.
This alert rule template omits the excludeHitsFromPreviousRun parameter that is consistently set on .es-query ES|QL templates across this repo. Add an explicit excludeHitsFromPreviousRun value (commonly true) to ensure predictable behavior and avoid repeated alerts from the same matching rows across executions.
| "timeWindowSize": 5, | ||
| "timeWindowUnit": "m", | ||
| "groupBy": "row", | ||
| "termField": "attributes.pool", | ||
| "termSize": 10 | ||
| } |
There was a problem hiding this comment.
This alert rule template omits the excludeHitsFromPreviousRun parameter that is consistently set on .es-query ES|QL templates across this repo. Add an explicit excludeHitsFromPreviousRun value (commonly true) to ensure predictable behavior and avoid repeated alerts from the same matching rows across executions.
| "timeWindowSize": 10, | ||
| "timeWindowUnit": "m", | ||
| "groupBy": "row", | ||
| "termField": "attributes.jndiname", | ||
| "termSize": 10 | ||
| } |
There was a problem hiding this comment.
This alert rule template omits the excludeHitsFromPreviousRun parameter that is consistently set on .es-query ES|QL templates across this repo. Add an explicit excludeHitsFromPreviousRun value (commonly true) to ensure predictable behavior and avoid repeated alerts from the same matching rows across executions.
| "timeWindowSize": 5, | ||
| "timeWindowUnit": "m", | ||
| "groupBy": "row", | ||
| "termField": "attributes.jndiname", | ||
| "termSize": 10 | ||
| } |
There was a problem hiding this comment.
This alert rule template omits the excludeHitsFromPreviousRun parameter that is consistently set on .es-query ES|QL templates across this repo. Add an explicit excludeHitsFromPreviousRun value (commonly true) to ensure predictable behavior and avoid repeated alerts from the same matching rows across executions.
Proposed commit message
See title
Checklist
changelog.ymlfile.Author's Checklist
How to test this PR locally
Related issues
Screenshots