Repository navigation
Release v2.1.0
Prologue can now capture, collect and interpret a system made of several services. Existing single-service configurations keep working unchanged as the default service.
Added
prologue.servicesincratis-prologue.jsonnames the services of a multi-service system. Each named service has its ownsqlServerandpostgresdatabases, claims the reverse-proxyclustersand OpenTelemetrytelemetryServiceNameswhose traffic belongs to it (both default to the service name), and can be set from the environment, for examplePrologue__Services__billing__Postgres__0__ConnectionString. See Configuration.- Captures and observations carry a
serviceproperty (ServiceNameinCratis.Prologue.Contracts,ServiceOptionsinCratis.Prologue.Configuration). It is empty for the default service, and capture files and Receiver-stored captures written before this release read back as the default service. - JSON output writes a named service's captures to
prologue-{service}-{kind}-{index}.jsonl; the default service keeps its existing file names. - The Interpreter turns each named service into its own module, analyzed against that service's own database schema.
--captured-service <name>(orPROLOGUE_CAPTURED_SERVICE) makes a batch Interpreter run model a single service.OfServiceandServicesextension methods on capture sets inCratis.Prologue.Contracts.
Changed
- Observations from different services are never correlated into the same capture, however close together they happen.
- Telemetry claimed by a named service is captured even when
openTelemetry.serviceNameswould exclude it; that filter now applies to the default service only. - The Extractor refuses to start when two named services claim the same reverse-proxy cluster or telemetry service name.