Skip to content

CrescoEdge/sysinfo

Repository files navigation

Cresco SysInfo

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.

Role

A Cresco plugin that gathers information about the host operating environment (CPU, memory, network, …) and reports it to the controller.

Build

mvn package bundle:bundle

Built 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.

Cresco framework

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.
SysInfothis 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.

Observability

Wired into Cresco's central metrics + health systems, consistent with every other plugin (sysinfo is the reference for the metrics contract):

  • Metricsgetmetrics returns MeasurementEngine gauges for the host (CPU / memory / disk / network); aggregated fabric-wide by the controller's getmetricinventory.
  • Health — registers a Felix HealthCheck (name sysinfo, tag local) discovered by the controller's CrescoHealthExecutor; reports OK while host telemetry is being served and surfaces in the health summary and the controller's gethealthinventory action.

License

Apache License, Version 2.0.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages