Skip to content

Commit 221d6fd

Browse files
committed
[receiver/hostmetrics] Add Pressure Stall Information (PSI) scraper
1 parent 9f6825a commit 221d6fd

25 files changed

+3020
-0
lines changed

.chloggen/42779-psi.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
change_type: enhancement
2+
3+
component: receiver/hostmetrics
4+
5+
note: Pressure Stall Information (PSI) from linux hosts
6+
issues: [42779]
7+
8+
subtext: Added support for Linux 4.20+ new Pressure Stall Information metrics
9+
10+
change_logs: [user,api]

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,7 @@ receiver/hostmetricsreceiver/internal/scraper/nfsscraper/ @open-telemetry
273273
receiver/hostmetricsreceiver/internal/scraper/pagingscraper/ @open-telemetry/collector-contrib-approvers @dmitryax @braydonk
274274
receiver/hostmetricsreceiver/internal/scraper/processesscraper/ @open-telemetry/collector-contrib-approvers @dmitryax @braydonk
275275
receiver/hostmetricsreceiver/internal/scraper/processscraper/ @open-telemetry/collector-contrib-approvers @dmitryax @braydonk
276+
receiver/hostmetricsreceiver/internal/scraper/psiscraper/ @open-telemetry/collector-contrib-approvers @alpineq
276277
receiver/hostmetricsreceiver/internal/scraper/systemscraper/ @open-telemetry/collector-contrib-approvers @dmitryax @braydonk
277278
receiver/httpcheckreceiver/ @open-telemetry/collector-contrib-approvers @codeboten @VenuEmmadi
278279
receiver/huaweicloudcesreceiver/ @open-telemetry/collector-contrib-approvers @heitorganzeli @narcis96 @mwear

.github/ISSUE_TEMPLATE/beta_stability.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ body:
274274
- receiver/hostmetrics/internal/scraper/pagingscraper
275275
- receiver/hostmetrics/internal/scraper/processesscraper
276276
- receiver/hostmetrics/internal/scraper/processscraper
277+
- receiver/hostmetrics/internal/scraper/psiscraper
277278
- receiver/hostmetrics/internal/scraper/systemscraper
278279
- receiver/httpcheck
279280
- receiver/huaweicloudces

.github/ISSUE_TEMPLATE/bug_report.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,7 @@ body:
277277
- receiver/hostmetrics/internal/scraper/pagingscraper
278278
- receiver/hostmetrics/internal/scraper/processesscraper
279279
- receiver/hostmetrics/internal/scraper/processscraper
280+
- receiver/hostmetrics/internal/scraper/psiscraper
280281
- receiver/hostmetrics/internal/scraper/systemscraper
281282
- receiver/httpcheck
282283
- receiver/huaweicloudces

.github/ISSUE_TEMPLATE/feature_request.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ body:
271271
- receiver/hostmetrics/internal/scraper/pagingscraper
272272
- receiver/hostmetrics/internal/scraper/processesscraper
273273
- receiver/hostmetrics/internal/scraper/processscraper
274+
- receiver/hostmetrics/internal/scraper/psiscraper
274275
- receiver/hostmetrics/internal/scraper/systemscraper
275276
- receiver/httpcheck
276277
- receiver/huaweicloudces

.github/ISSUE_TEMPLATE/other.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ body:
271271
- receiver/hostmetrics/internal/scraper/pagingscraper
272272
- receiver/hostmetrics/internal/scraper/processesscraper
273273
- receiver/hostmetrics/internal/scraper/processscraper
274+
- receiver/hostmetrics/internal/scraper/psiscraper
274275
- receiver/hostmetrics/internal/scraper/systemscraper
275276
- receiver/httpcheck
276277
- receiver/huaweicloudces

.github/ISSUE_TEMPLATE/unmaintained.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@ body:
276276
- receiver/hostmetrics/internal/scraper/pagingscraper
277277
- receiver/hostmetrics/internal/scraper/processesscraper
278278
- receiver/hostmetrics/internal/scraper/processscraper
279+
- receiver/hostmetrics/internal/scraper/psiscraper
279280
- receiver/hostmetrics/internal/scraper/systemscraper
280281
- receiver/httpcheck
281282
- receiver/huaweicloudces

receiver/hostmetricsreceiver/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ The available scrapers are:
5757
| [paging] | All | Paging/Swap space utilization and I/O metrics |
5858
| [processes] | Linux, Mac, FreeBSD, OpenBSD | Process count metrics |
5959
| [process] | Linux, Windows, Mac, FreeBSD | Per process CPU, Memory, and Disk I/O metrics |
60+
| [psi] | Linux | Pressure Stall Information (PSI) metrics |
6061
| [system] | Linux, Windows, Mac | Miscellaneous system metrics |
6162

6263
[cpu]: ./internal/scraper/cpuscraper/documentation.md
@@ -69,6 +70,7 @@ The available scrapers are:
6970
[paging]: ./internal/scraper/pagingscraper/documentation.md
7071
[processes]: ./internal/scraper/processesscraper/documentation.md
7172
[process]: ./internal/scraper/processscraper/documentation.md
73+
[psi]: ./internal/scraper/psiscraper/documentation.md
7274
[system]: ./internal/scraper/systemscraper/documentation.md
7375

7476
### Notes

receiver/hostmetricsreceiver/factory.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/pagingscraper"
3030
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/processesscraper"
3131
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/processscraper"
32+
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/psiscraper"
3233
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/systemscraper"
3334
)
3435

@@ -49,6 +50,7 @@ var (
4950
pagingscraper.NewFactory(),
5051
processesscraper.NewFactory(),
5152
processscraper.NewFactory(),
53+
psiscraper.NewFactory(),
5254
systemscraper.NewFactory(),
5355
)
5456
)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package psiscraper // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/psiscraper"
5+
6+
import (
7+
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/psiscraper/internal/metadata"
8+
)
9+
10+
// Config relating to PSI Metric Scraper.
11+
type Config struct {
12+
// MetricsBuilderConfig allows to customize scraped metrics/attributes representation.
13+
metadata.MetricsBuilderConfig `mapstructure:",squash"`
14+
// RootPath is the host's root directory (linux only).
15+
RootPath string `mapstructure:"-"`
16+
}
17+
18+
func (cfg *Config) SetRootPath(rootPath string) {
19+
cfg.RootPath = rootPath
20+
}

0 commit comments

Comments
 (0)