Collects operating-environment and system metrics for an agent.
Part of the Cresco edge-computing framework. See the agent repository for the full architecture, build, and run guide.
A Cresco plugin that gathers information about the host operating environment (CPU, memory, network, …) and reports it to the controller.
mvn package bundle:bundleBuilt with JDK 21. The bundle:bundle goal is required: it rewrites the jar into a
proper OSGi bundle (with Bundle-SymbolicName, Export-Package, and embedded
dependencies). A plain mvn package/install produces a non-bundle jar that the agent
cannot start. Output: target/sysinfo-1.3-SNAPSHOT.jar.
Requires io.cresco:library in your local Maven repository — build library first.
| Component | Role |
|---|---|
| Agent | OSGi runtime that boots the framework and bundles every component into one executable jar. |
| Logger | Logging bundle (pax-logging) — the first service the agent starts. |
| Library | Shared io.cresco.library API + embedded dependencies (JMS, Siddhi, Jackson, …) used by every component and plugin. |
| Core | Core agent services (logging control, update management), loaded above the library. |
| Controller | Control plane — manages agents, regions and the global hierarchy; embeds the ActiveMQ broker, Derby state store, discovery, and loads system plugins. |
| Repo | Plugin repository — stores, reports and deploys Cresco plugins. |
| SysInfo — this repo | Collects operating-environment and system metrics for an agent. |
| WSAPI | WebSocket API plugin — the external client entrypoint (control, data plane, log streaming) over wss://…:8282. |
| STunnel | Secure TCP tunnel plugin (Netty) — tunnels TCP across the fabric. |
| Java Client (clientlib) | Java client library for driving Cresco through the wsapi. |
| Python Client (pycrescolib) | Python client library for driving Cresco through the wsapi. |
Wired into Cresco's central metrics + health systems, consistent with every other plugin (sysinfo is the reference for the metrics contract):
- Metrics —
getmetricsreturnsMeasurementEnginegauges for the host (CPU / memory / disk / network); aggregated fabric-wide by the controller'sgetmetricinventory. - Health — registers a Felix
HealthCheck(namesysinfo, taglocal) discovered by the controller'sCrescoHealthExecutor; reportsOKwhile host telemetry is being served and surfaces in the health summary and the controller'sgethealthinventoryaction.
Apache License, Version 2.0.