Metrics
Like the FactCast server, also Factus makes use of micrometer.io metrics.
Metric namespaces and their organization
At the time of writing, there are three namespaces exposed:
-
factus.timings -
factus.counts -
factus.gauges
Depending on your micrometer binding, you may see a slightly different spelling in your data (like ' factus_timings`, if your datasource has a special meaning for the '.'-character)
The metrics are automatically tagged with
-
the emitting class (
classtag) -
the name of the metric (
nametag)
Existing Metrics
At the time of writing (Factcast version 0.3.13) the following metrics are supported:
Counted
-
transaction_attempts- how often was a transaction retried. See Optimistic Locking for more background -
transaction_abort- how often was an attempted transaction aborted
Gauged
-
fetch_size- size in bytes of a fetched Snapshot projection or Aggregate projection
Timed
-
managed_projection_update_duration- duration in milliseconds a Managed Projection took to update -
fetch_duration- duration in milliseconds it took to fetch a Snapshot projection -
find_duration- duration in milliseconds it took to find a specific Aggregate -
event_processing_latency- for those facts that arrive after catchup: time difference in milliseconds between a fact was published and received by a client. (In case of batch processing, this is only reported for the first/oldest fact of a batch)