Skip to main content
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.
author:Emmanuel
Container image
  • The agent container image moves to registry.costgraph.ai/costgraph-agent. Sign in with a CostGraph API key that has the deployment:register scope 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.
author:Emmanuel
v1.9.2
  • On macOS with remote_write: false, the local /metrics endpoint adds the costgraph_tenant_id, costgraph_agent_host_id, costgraph_instance_id and costgraph_instance_hostname labels once the Mac is registered, so the series your own collector scrapes can be matched to the Mac in CostGraph. See Grafana.
author:Emmanuel
v1.9.1
  • 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 set ca_cert_path or ca_bundle_path. http_attribution and system_proxy stay off by default.
author:Emmanuel
v1.9.0
  • Request header attribution on macOS. With http_attribution turned on, the agent runs a local proxy that reads the X-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.
author:Emmanuel
v1.8.0
  • 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 /metrics endpoint 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: true to keep a Mac local only.
  • New --config flag reads a YAML configuration file with api_key, metrics_only, network_trace, remote_write, metrics_connection_id, metrics_instance and prometheus.metrics_port. Command-line flags and environment variables take precedence over the file.
  • remote_write: false stops the agent pushing host and process metrics while it still registers and sends heartbeats, for hosts whose metrics you already collect yourself. metrics_connection_id links the host to a CostGraph metrics connection that holds its metrics, and metrics_instance sets the instance label it carries there. See Grafana. Neither can be combined with metrics_only: true.
author:Emmanuel
v1.7.0
  • 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=false to turn network flow tracing off. off and no are 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.
author:Emmanuel
v1.6.1
  • The Ansible collection is published at https://setup.costgraph.ai/ansible/. See Installation.
author:Emmanuel
v1.6.0
  • Set a machine’s identity when the agent cannot detect it. COSTGRAPH_PROVIDER, COSTGRAPH_REGION, COSTGRAPH_AVAILABILITY_ZONE, COSTGRAPH_INSTANCE_TYPE, COSTGRAPH_USAGE_TYPE and COSTGRAPH_INSTANCE_ID take 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.0 adds variables for the same identity settings.
author:Emmanuel
v1.5.24
  • 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.
author:Emmanuel
v1.5.22
  • 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.20 restarted 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.
author:wldfngrs
v1.3.1
  • Auto-detect host cgroup filesystem path, no longer configurable via cli flag.
author:wldfngrs
v1.3.0
  • Hosts without cloud provider metadata log a warning, instead of exiting on boot. Registration fills the unresolved fields with fallbacks.
author:wldfngrs
v1.2.2
  • 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/proc and the host cgroup v2 filesystem /sys/fs/cgroup:/host/sys/fs/cgroup.
author:Great
v1.0.0
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.
author:Great
v0.0.64
  • 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.
author:Great
v0.0.48
  • Container metrics and inventory for Docker and containerd hosts, with live runtime tracking.
author:Great
v0.0.37
  • Host metrics pipeline: CPU, memory, disk, and network streamed to CostGraph.
  • Backend integration with instance registration and durable remote write.
author:Great
v0.0.1
  • Initial release of the CostGraph Agent.