How ovis-hpc/ldms works
LDMS is a distributed HPC metrics collection, transport, aggregation, and storage framework. Its principal workflow is to collect system or application metrics into LDMS metric sets, transfer them between daemons, aggregate or route the data, and persist it through storage plugins. The graph also shows configuration and authentication as supporting runtime capabilities, plus kernel and Kokkos collection paths. Most connections reflect README-level capabilities; source excerpts provide limited implementation detail, so unsampled subsystem wiring is not asserted.
Main entry points: ldmsd.c LDMS Daemon · ldms.c Metric Sets API · ldms_xprt.c Transport Core · kldms.c Kernel Collectors
Components 19
Metric Collection
- Sampler Plugins
ldms/src/sampler - Lustre Sampler
ldms/src/sampler/lustre_newer/lustre_client.c - Lustre Metrics
ldms/src/sampler/lustre_newer/lustre_client_general.c - Kernel Collectors
kernel/kldms/kldms.c - Kokkos Connector
kokkosConnector/kp_kernel_ldms.cpp
LDMS Runtime
- Metric Sets API
ldms/src/core/ldms.c - Transport Core
ldms/src/core/ldms_xprt.c - Transport Backends
lib/src/zap/zap.c - Authentication
ldms/src/core/ldms_auth.c
Daemon Services
- LDMS Daemon
ldms/src/ldmsd/ldmsd.c - Daemon Configuration
ldms/src/ldmsd/ldmsd_config.c - Producer Management
ldms/src/ldmsd/ldmsd_prdcr.c - Python Control
ldms/python/ldmsd/ldmsd_communicator.py
Storage
- Store Plugins
ldms/src/store - Timescale Store
ldms/src/contrib/store/timescale/store_timescale.c
Extensions
- Contributed Samplers
ldms/src/contrib/sampler - Kernel Metric API
kernel/kldms/gpcd_pub.h
Other components
- Operator
- Metric Sources
Connections 17
- Operator → Daemon Configuration: configures
- Daemon Configuration → LDMS Daemon: configures
- Metric Sources → Sampler Plugins: provides metrics
- Sampler Plugins → Metric Sets API: collects into
- Lustre Sampler → Lustre Metrics: uses
ldms/src/sampler/lustre_newer/lustre_client.c - Kernel Collectors → Kernel Metric API: exposes metrics
- Kernel Collectors → Metric Sets API: updates
- Kokkos Connector → Metric Sets API: publishes metrics
- Metric Sets API → Transport Core: transfers metrics
- Transport Core → Transport Backends: uses
- LDMS Daemon → Transport Core: transports data
- LDMS Daemon → Producer Management: manages producers
- Python Control → LDMS Daemon: controls
- Authentication → Transport Core: authenticates
- LDMS Daemon → Store Plugins: stores metrics
- Store Plugins → Timescale Store: includes
- Contributed Samplers → Metric Sets API: collects into