Skip to content

Commit e8de047

Browse files
LZiHaNfatsheep9146TylerHelmuth
authored
[receiver/sqlserver] Add SQL server host resource attributes (#37004)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description The new attribute are added to the SQL server receiver to distinguish metrics coming from different SQL server instances. - **server.address**: The address of the SQL server host, enabled by default. - **server.port**: The port of the SQL server host, disabled by default. <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue refer to #35183 <!--Describe what testing was performed and which tests were added.--> #### Testing passes tests. <!--Describe the documentation added.--> #### Documentation no need to update. <!--Please delete paragraphs that you did not use before submitting.--> --------- Co-authored-by: Ziqi Zhao <[email protected]> Co-authored-by: Tyler Helmuth <[email protected]>
1 parent 6173862 commit e8de047

19 files changed

+340
-26
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Use this changelog template to create an entry for release notes.
2+
3+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
4+
change_type: enhancement
5+
6+
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
7+
component: receiver/sqlserverreceiver
8+
9+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
10+
note: Add `server.address` and `server.port` resource attributes to SQL server receiver.
11+
12+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
13+
issues: [35183]
14+
15+
# (Optional) One or more lines of additional information to render under the primary note.
16+
# These lines will be padded with 2 spaces and then inserted directly into the document.
17+
# Use pipe (|) for multiline entries.
18+
subtext: |
19+
The new resource attributes are added to the SQL server receiver to distinguish metrics coming from different SQL server instances.
20+
- `server.address`: The address of the SQL server host, disabled by default.
21+
- `server.port`: The port of the SQL server host, disabled by default.
22+
23+
# If your change doesn't affect end users or the exported elements of any package,
24+
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label.
25+
# Optional: The change log or logs in which this entry should be included.
26+
# e.g. '[user]' or '[user, api]'
27+
# Include 'user' if the change is relevant to end users.
28+
# Include 'api' if there is a change to a library API.
29+
# Default: '[user]'
30+
change_logs: [user]

receiver/sqlserverreceiver/config_test.go

+6
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,12 @@ func TestLoadConfig(t *testing.T) {
112112
SqlserverComputerName: metadata.ResourceAttributeConfig{
113113
Enabled: true,
114114
},
115+
ServerAddress: metadata.ResourceAttributeConfig{
116+
Enabled: true,
117+
},
118+
ServerPort: metadata.ResourceAttributeConfig{
119+
Enabled: true,
120+
},
115121
},
116122
}
117123
expected.ComputerName = "CustomServer"

receiver/sqlserverreceiver/documentation.md

+2
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,8 @@ This metric is only available when the receiver is configured to directly connec
323323
324324
| Name | Description | Values | Enabled |
325325
| ---- | ----------- | ------ | ------- |
326+
| server.address | Name of the database host. | Any Str | false |
327+
| server.port | Server port number. | Any Int | false |
326328
| sqlserver.computer.name | The name of the SQL Server instance being monitored. | Any Str | false |
327329
| sqlserver.database.name | The name of the SQL Server database. | Any Str | true |
328330
| sqlserver.instance.name | The name of the SQL Server instance being monitored. | Any Str | false |

receiver/sqlserverreceiver/factory.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,11 @@ func setupSQLServerScrapers(params receiver.Settings, cfg *Config) []*sqlServerS
9898
id := component.NewIDWithName(metadata.Type, fmt.Sprintf("query-%d: %s", i, query))
9999

100100
sqlServerScraper := newSQLServerScraper(id, query,
101-
cfg.InstanceName,
102-
cfg.ControllerConfig,
103-
params.Logger,
104101
sqlquery.TelemetryConfig{},
105102
dbProviderFunc,
106103
sqlquery.NewDbClient,
107-
metadata.NewMetricsBuilder(cfg.MetricsBuilderConfig, params))
104+
params,
105+
cfg)
108106

109107
scrapers = append(scrapers, sqlServerScraper)
110108
}

receiver/sqlserverreceiver/internal/metadata/generated_config.go

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/sqlserverreceiver/internal/metadata/generated_config_test.go

+8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/sqlserverreceiver/internal/metadata/generated_metrics.go

+18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/sqlserverreceiver/internal/metadata/generated_metrics_test.go

+10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/sqlserverreceiver/internal/metadata/generated_resource.go

+14
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/sqlserverreceiver/internal/metadata/generated_resource_test.go

+14-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/sqlserverreceiver/internal/metadata/testdata/config.yaml

+24
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ all_set:
5656
sqlserver.user.connection.count:
5757
enabled: true
5858
resource_attributes:
59+
server.address:
60+
enabled: true
61+
server.port:
62+
enabled: true
5963
sqlserver.computer.name:
6064
enabled: true
6165
sqlserver.database.name:
@@ -119,6 +123,10 @@ none_set:
119123
sqlserver.user.connection.count:
120124
enabled: false
121125
resource_attributes:
126+
server.address:
127+
enabled: false
128+
server.port:
129+
enabled: false
122130
sqlserver.computer.name:
123131
enabled: false
124132
sqlserver.database.name:
@@ -127,6 +135,14 @@ none_set:
127135
enabled: false
128136
filter_set_include:
129137
resource_attributes:
138+
server.address:
139+
enabled: true
140+
metrics_include:
141+
- regexp: ".*"
142+
server.port:
143+
enabled: true
144+
metrics_include:
145+
- regexp: ".*"
130146
sqlserver.computer.name:
131147
enabled: true
132148
metrics_include:
@@ -141,6 +157,14 @@ filter_set_include:
141157
- regexp: ".*"
142158
filter_set_exclude:
143159
resource_attributes:
160+
server.address:
161+
enabled: true
162+
metrics_exclude:
163+
- strict: "server.address-val"
164+
server.port:
165+
enabled: true
166+
metrics_exclude:
167+
- regexp: ".*"
144168
sqlserver.computer.name:
145169
enabled: true
146170
metrics_exclude:

receiver/sqlserverreceiver/metadata.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ resource_attributes:
2222
description: The name of the SQL Server instance being monitored.
2323
enabled: false
2424
type: string
25+
server.address:
26+
description: Name of the database host.
27+
enabled: false
28+
type: string
29+
warnings:
30+
if_enabled_not_set: "This attribute will be enabled by default starting in release v0.121.0."
31+
server.port:
32+
description: Server port number.
33+
enabled: false
34+
type: int
35+
warnings:
36+
if_enabled_not_set: "This attribute will be enabled by default starting in release v0.121.0."
2537

2638
attributes:
2739
page.operations:

0 commit comments

Comments
 (0)