Enhancement: Update fields.yml mysql.performance.events_statements.digest to object and subfield text to text - #20842
Conversation
Map mysql.performance.events_statements.digest as a group with digest.text as text instead of flattened to allow easier ES|QL manipulation.
✅ Elastic Docs Style Checker (Vale)No issues found on modified lines! 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. |
Add changelog entry for exposing mysql.performance.events_statements.digest.text as a text field.
Fix typo
This comment has been minimized.
This comment has been minimized.
TL;DR
Remediation
Investigation detailsRoot CauseThe failing step is lint validation, not tests/runtime behavior. The log reports:
In this PR, Evidence
Relevant files:
Verification
Follow-upIf you intended to keep What is this? | From workflow: PR Buildkite Detective Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
Update manifest to 1.30.3
🚀 Benchmarks reportTo see the full report comment with |
…chema-digest_text-as-a-scalar-field-for-esql-compatibility
…chema-digest_text-as-a-scalar-field-for-esql-compatibility
|
✅ All changelog entries have the correct PR link. |
💚 Build Succeeded
History
|
|
Package mysql - 1.30.3 containing this change is available at https://epr.elastic.co/package/mysql/1.30.3/ |
Proposed commit message
Fix MySQL performance digest text mapping
The MySQL
performancedata stream already collectsDIGEST_TEXTfromperformance_schema.events_statements_summary_by_digestand stores it at:mysql.performance.events_statements.digest.textHowever, the parent
mysql.performance.events_statements.digestfield iscurrently mapped as
flattened.This change maps
digestas a group/object and explicitly mapsdigest.textastext.The underlying event structure is unchanged. The ingest pipeline already
reads
digest.text, so no pipeline changes are required.This allows the normalized SQL statement text to be accessed directly in
ES|QL instead of remaining inaccessible on stack versions where flattened
fields are not supported by ES|QL.
The proposed mapping has also been validated by applying the equivalent
mapping through the
metrics-mysql.performance@customcomponent template,recreating the data stream, and confirming that
mysql.performance.events_statements.digest.textcan then be retrievedsuccessfully with ES|QL.
Checklist
changelog.ymlfile.Author's Checklist
DIGEST_TEXTis already collected undermysql.performance.events_statements.digest.text.digestbeing mapped asflattened.mysql.performance.events_statements.digest.textbecomes directly accessible in ES|QL with the proposed mapping.How to test this PR locally
Build/install the MySQL integration containing this change.
Enable the
mysql.performancedata stream and collect statement digest metrics.Confirm that documents contain:
mysql.performance.events_statements.digest.textVerify the generated mapping for the field:
Run an ES|QL query such as:
FROM metrics-mysql.performance-*
| KEEP
@timestamp,
mysql.performance.events_statements.query_id,
mysql.performance.events_statements.digest.text
| LIMIT 10
Related issues