elastic / elastic/elastic-agent

Agent per process Metrics document standardization

Open
#300 3 comments 0 reactions 0 assignees View on GitHub
7.15-candidate enhancement Team:Elastic-Agent Team:Elastic-Agent-Control-Plane
Dominant language
Go
Stars
275
Forks
264
Avg merge
1d 23h
Merged PRs (30d)
312

Description

When using the `/stats` API, the event is returned as is. When collecting stats from Beats the `beats` namespace does contain process metrics like cgroup, CPU, and memory usage. But the process name is not included. When metrics are queried via Agent, the namespace `beats` should become `process`, plus the field `process.name` should be added, which includes the process name known to agent (e.g. `filebeat-default-monitoring`).

Although we have no event routing availale yet, data source should be encouraged to provide a data stream meta-data as hints (which can still be ignored). When quering process stats via agent, the JSON document published by Agent should include the data stream fields.

The change could be added to libbeat, or (maybe easier) as a processing step in Agent. When done in Agent we already have a place where we can massage endpoint stats in the future.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how Agent handles the /stats API and compare the Beats process-metrics payload with the Agent-published JSON. Check the libbeat and Agent processing options mentioned in the issue, then verify that process metrics use the process namespace, include process.name, and retain data stream metadata fields.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, backend, observability-sre
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.