Skip to content

Commit

Permalink
[receiver/mysql] Add delete_multi, update_multi to mysql.commands met…
Browse files Browse the repository at this point in the history
…ric (#37329)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number (e.g. #1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes #37301

<!--Describe what testing was performed and which tests were added.-->
#### Testing

<!--Describe the documentation added.-->
#### Documentation

<!--Please delete paragraphs that you did not use before submitting.-->
  • Loading branch information
CodePrometheus authored Jan 21, 2025
1 parent 9ffaf0d commit c715b68
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 6 deletions.
21 changes: 21 additions & 0 deletions .chloggen/add-delete-multi-update-multi-for-mysql-receiver.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Use this changelog template to create an entry for release notes.
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: enhancement
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
component: mysqlreceiver
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: "Add delete_multi, update_multi metrics to mysql.commands for mysqlreceiver"
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
issues: [37301]
# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext:
# If your change doesn't affect end users or the exported elements of any package,
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label.
# Optional: The change log or logs in which this entry should be included.
# e.g. '[user]' or '[user, api]'
# Include 'user' if the change is relevant to end users.
# Include 'api' if there is a change to a library API.
# Default: '[user]'
change_logs: [user]
2 changes: 1 addition & 1 deletion receiver/mysqlreceiver/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ The number of times each type of command has been executed.
| Name | Description | Values |
| ---- | ----------- | ------ |
| command | The command types. | Str: ``delete``, ``insert``, ``select``, ``update`` |
| command | The command types. | Str: ``delete``, ``delete_multi``, ``insert``, ``select``, ``update``, ``update_multi`` |
### mysql.connection.count
Expand Down
16 changes: 12 additions & 4 deletions receiver/mysqlreceiver/internal/metadata/generated_metrics.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion receiver/mysqlreceiver/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ attributes:
command:
description: The command types.
type: string
enum: [delete, insert, select, update]
enum: [delete, delete_multi, insert, select, update, update_multi]
connection_error:
name_override: error
description: The connection error type.
Expand Down
4 changes: 4 additions & 0 deletions receiver/mysqlreceiver/scraper.go
Original file line number Diff line number Diff line change
Expand Up @@ -229,12 +229,16 @@ func (m *mySQLScraper) scrapeGlobalStats(now pcommon.Timestamp, errs *scrapererr
// commands
case "Com_delete":
addPartialIfError(errs, m.mb.RecordMysqlCommandsDataPoint(now, v, metadata.AttributeCommandDelete))
case "Com_delete_multi":
addPartialIfError(errs, m.mb.RecordMysqlCommandsDataPoint(now, v, metadata.AttributeCommandDeleteMulti))
case "Com_insert":
addPartialIfError(errs, m.mb.RecordMysqlCommandsDataPoint(now, v, metadata.AttributeCommandInsert))
case "Com_select":
addPartialIfError(errs, m.mb.RecordMysqlCommandsDataPoint(now, v, metadata.AttributeCommandSelect))
case "Com_update":
addPartialIfError(errs, m.mb.RecordMysqlCommandsDataPoint(now, v, metadata.AttributeCommandUpdate))
case "Com_update_multi":
addPartialIfError(errs, m.mb.RecordMysqlCommandsDataPoint(now, v, metadata.AttributeCommandUpdateMulti))

// created tmps
case "Created_tmp_disk_tables":
Expand Down
14 changes: 14 additions & 0 deletions receiver/mysqlreceiver/testdata/scraper/expected.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,13 @@ resourceMetrics:
stringValue: delete
startTimeUnixNano: "1000000"
timeUnixNano: "2000000"
- asInt: "51"
attributes:
- key: command
value:
stringValue: delete_multi
startTimeUnixNano: "1000000"
timeUnixNano: "2000000"
- asInt: "78"
attributes:
- key: command
Expand All @@ -202,6 +209,13 @@ resourceMetrics:
stringValue: update
startTimeUnixNano: "1000000"
timeUnixNano: "2000000"
- asInt: "174"
attributes:
- key: command
value:
stringValue: update_multi
startTimeUnixNano: "1000000"
timeUnixNano: "2000000"
isMonotonic: true
unit: "1"
- description: The number of connection attempts (successful or not) to the MySQL server.
Expand Down

0 comments on commit c715b68

Please sign in to comment.