You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: trace-dispatcher/CHANGELOG.md
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,14 @@
1
1
# Revision history for trace-dispatcher
2
2
3
-
## NEXT -- Nov 2025
4
-
5
-
* Replaced both `tofDisconnQueueSize` and `tofConnQueueSize` with `tofQueueSize` (See #6361 for details).
3
+
## 2.11.0 -- Nov 2025
4
+
5
+
*`class LogFormatting`: remove redundant `forHumanFromMachine` and `forHumanOrMachine` (the system already does that inherently)
6
+
* Introduce type `Cardano.Logging.Types.TraceMessage.TraceMessage` with explicit codecs for JSON and CBOR
7
+
* Rework `PreFormatted` type and formatters to use `TraceMessage`; slightly optimize `humanFormatter'`
8
+
* Add CBOR formatting via `FormattedMessage.FormattedCBOR` constructor and a `cborFormatter'` function
9
+
* Replaced both `disconnectedQueueSize` and `connectedQueueSize` with `queueSize` in `TraceOptionForwarder` while keeping config parsing backwards compatible
10
+
* Add retry delay reset in `runInLoop` when the action runs sufficiently long
11
+
* Safely stop `standardTracer`'s stdout thread when there are no more producers
6
12
7
13
## 2.10.0 -- July, 2025
8
14
* Forwarding protocol supports connections over TCP socket, in addition to Unix domain sockets.
Copy file name to clipboardExpand all lines: trace-dispatcher/doc/trace-dispatcher.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -186,11 +186,11 @@ For the effective integration of trace messages into the tracing system, two ess
186
186
187
187
The `LogFormatting` typeclass governs the presentation of trace messages, encompassing the mapping of traces to metrics and messages.It includes the following methods:
188
188
189
-
-The`forMachine` method caters to a machine-readable representation, adaptable based on the detail level.Implementation is mandatory for the trace author.
189
+
-The`forMachine` method caters to a machine-readable representation, adaptable based on the detail level.Implementation is mandatory for the trace author.The system will render this,
190
+
along with trace metadata, as JSONoftype `Cardano.Logging.Types.TraceMessage.TraceMessage`.
190
191
191
192
-The`forHuman` method renders the message in a human-readable form.Itsdefault implementation is an
192
-
empty text, which will be replaced by forMachine in the rendering, if forHuman is empty.The forMachine
193
-
will by default rendered with a DNormal detsil level, if no other information is provided.
193
+
empty text.Whenever the system encounters the empty text, it will replace it with the machine-readable JSON, rendering it as a value in `{"data":<value>}`, preventing potential loss oflog information
194
194
195
195
-The`asMetrics` method portrays the message as 0 to n metrics.Thedefault implementation assumes no metrics.Each metric can optionally specify a hierarchical identifier as a `[Text]`.
196
196
@@ -700,30 +700,30 @@ logs and forwarded tracing output.
700
700
701
701
As mentioned earlier, trace backends serve as the final destinations for all traces once they have undergone trace interpretation, resulting in metrics and messages. The system defines three trace backends:
702
702
703
-
1. __Standard Tracer:__ This is the fundamental standard output tracer. Notably, it can accept both regular and confidential traces. It's important to construct only one standard tracer in any application, as attempting to create a new one will result in an exception.
703
+
1. __Standard Tracer:__ This is the fundamental standard output tracer. Notably, it can accept both regular and confidential traces.
704
704
705
705
```haskell
706
706
standardTracer :: forall m. (MonadIO m)
707
707
=> m (Trace m FormattedMessage)
708
708
```
709
709
710
-
2. __Trace-Forward Tracer:__ This is a network-only sink dedicated to forwarding messages using typed protocols over TCP or local sockets. It exclusively handles public traces and should be instantiated only once per application.
710
+
2. __Trace-Forward Tracer:__ This is a network-only sink dedicated to forwarding messages using typed protocols over TCP or local sockets. It exclusively handles public traces.
711
711
712
712
```haskell
713
713
forwardTracer :: forall m. (MonadIO m)
714
714
=> ForwardSink TraceObject
715
715
-> Trace m FormattedMessage
716
716
```
717
717
718
-
3. __EKG Tracer:__ This tracer submits metrics to a local EKG store, which then further forwards the messages.
718
+
3. __EKG Tracer:__ This tracer submits metrics to a local EKG store (which then can be exposed directly via the `PrometheusSimple` backend and/or forwarded).
719
719
720
720
```haskell
721
721
ekgTracer :: MonadIO m
722
722
=> Metrics.Store
723
723
-> m (Trace m FormattedMessage)
724
724
```
725
725
726
-
It's imperative to note that constructing more than one instance of each tracer in an application may lead to exceptions and should be avoided.
726
+
It's imperative to note that constructing more than one instance of each tracer in an application should absolutely be avoided, as it may result in unexpected behaviour.
0 commit comments