v1.9.3
- On a GPU split into MIG slices, the slice total reports the GPU’s full capacity, for example 7 slices on an A100, instead of the sum of the slices you configured.
- The Kubernetes chart pulls the agent image with the registry image pull secret.
- The agent container image moves to
registry.costgraph.ai/costgraph-agent. Sign in with a CostGraph API key that has thedeployment:registerscope before you pull it, or store that key as an image pull secret on Kubernetes. The install script, Ansible and Homebrew installs are unaffected. See Installation.
- On macOS with
remote_write: false, the local/metricsendpoint adds thecostgraph_tenant_id,costgraph_agent_host_id,costgraph_instance_idandcostgraph_instance_hostnamelabels once the Mac is registered, so the series your own collector scrapes can be matched to the Mac in CostGraph. See Grafana.
- The request header attribution certificate is exported to
/usr/local/share/costgraph/attribution-ca.pem, and the combined bundle to/usr/local/share/costgraph/attribution-bundle.pem, unless you setca_cert_pathorca_bundle_path.http_attributionandsystem_proxystay off by default.
- Request header attribution on macOS. With
http_attributionturned on, the agent runs a local proxy that reads theX-CostGraph-*headers your services send and reports the same request series as a Linux host. It can export its certificate, build a combined CA bundle, optionally add the certificate to the System keychain, and set the system proxy, restoring your previous proxy settings when it stops. Off by default. See Request header attribution on macOS.
- macOS support. Install the agent on a Mac with Homebrew (
brew install baselinehq/tap/costgraph-agent) and run it as a root service. It reports host and process metrics, and network flows with destination names, on macOS 13 and later on Apple silicon and Intel. See Installation. - A Mac on your own hardware registers with its operating system, chip and model, and an instance type built from its model, cores and memory, for example
mac17,9-15c-24gb. A Mac on EC2 keeps its EC2 identity. Containers are not reported on macOS. - Process metrics shipped from a Mac are grouped by process name only, so command-line arguments never leave the host. The local
/metricsendpoint keeps the full grouping. - On macOS the agent keeps serving local metrics when CostGraph cannot be reached or the API key is rejected, and retries in the background instead of exiting. Set
metrics_only: trueto keep a Mac local only. - New
--configflag reads a YAML configuration file withapi_key,metrics_only,network_trace,remote_write,metrics_connection_id,metrics_instanceandprometheus.metrics_port. Command-line flags and environment variables take precedence over the file. remote_write: falsestops the agent pushing host and process metrics while it still registers and sends heartbeats, for hosts whose metrics you already collect yourself.metrics_connection_idlinks the host to a CostGraph metrics connection that holds its metrics, andmetrics_instancesets the instance label it carries there. See Grafana. Neither can be combined withmetrics_only: true.
- Network flows to public destinations carry the destination’s name, taken from its DNS lookup or TLS server name. See Network flow tracing.
- Set
ENABLE_NETWORK_TRACE=falseto turn network flow tracing off.offandnoare also accepted. Flow tracing stays on when the variable is unset. - Attached disks are reported with the provider’s own disk id, so disk costs match your bill more reliably.
- The Ansible collection is published at
https://setup.costgraph.ai/ansible/. See Installation.
- Set a machine’s identity when the agent cannot detect it.
COSTGRAPH_PROVIDER,COSTGRAPH_REGION,COSTGRAPH_AVAILABILITY_ZONE,COSTGRAPH_INSTANCE_TYPE,COSTGRAPH_USAGE_TYPEandCOSTGRAPH_INSTANCE_IDtake precedence over detection. When detection failed at startup, the agent keeps retrying and updates the machine once real values arrive. The install script records these values and keeps them when it runs again. See Machine identity. - Ansible collection
0.2.0adds variables for the same identity settings.
- Request capture uses far less memory: about 100 MiB of kernel memory instead of 285 MiB, which stops memory-pressure evictions on busy nodes. This also fixes
v1.5.23, where request capture failed to load on nodes that had run an earlier version. - Kernel threads and container sandbox processes are no longer reported as named processes, since they carry no cost.
- Fixed a crash loop on accelerator nodes with the host NVIDIA driver mounted. Reading accelerator host facts closed the NVML library while the per-process collector still held it, so
v1.5.20restarted repeatedly on every such node. NVML now stays loaded until the last user releases it. - The per-process accelerator exporter ships as its own image,
ghcr.io/baselinehq/costgraph-gpu-exporter. The agent image no longer carries it. - Backend and metrics endpoints are configurable.
- Auto-detect host cgroup filesystem path, no longer configurable via cli flag.
- Hosts without cloud provider metadata log a warning, instead of exiting on boot. Registration fills the unresolved fields with fallbacks.
- Extended the agent to include root-privileged BPF network-flow tracing that runs on compatible nodes across the fleet. Compatible nodes must expose a host-mounted cgroup v2 filesystem and run a BTF-enabled kernel for the fentry programs.
- Added default host filesystem mounts for
/proc:/host/procand the host cgroup v2 filesystem/sys/fs/cgroup:/host/sys/fs/cgroup.
First stable release of the CostGraph Agent.The agent runs on cloud VMs and reports host, process, and container metrics to CostGraph, powering VM inventory, cost attribution, rightsizing and idle recommendations, and cost anomaly detection. Install it with the one-line script, Docker, Ansible, or cloud-init.
- Process-level metrics: per-process CPU and memory usage.
- Disk metrics for attached volumes.
- New install paths: one-line install script (systemd/OpenRC), Ansible collection, and cloud-init / user data.
- Standardized metric names under the
costgraph_prefix.
- Container metrics and inventory for Docker and containerd hosts, with live runtime tracking.
- Host metrics pipeline: CPU, memory, disk, and network streamed to CostGraph.
- Backend integration with instance registration and durable remote write.
- Initial release of the CostGraph Agent.