Centrifugo PRO v6.9.5
Centrifugo PRO is an extended version of Centrifugo with a set of additional features. These features can provide your business with unique benefits – drastically save development time, reduce resource usage on a server, protect your backend from misusing, and put the system observability to the next level.
More details and feature description can be found in Centrifugo PRO docs.
What's changed
- Everything from Centrifugo OSS v6.9.5
- Fix a node panic when client labels are exported as Prometheus dimensions —
centrifugo_client_recover,centrifugo_client_recovered_publicationsandcentrifugo_client_ping_pong_duration_secondsdeclared client label dimensions but were recorded without label values, so Prometheus panicked with an inconsistent cardinality error. The ping/pong one runs in a goroutine where nothing recovers the panic, so withprometheus.client_labelsset a node crashed about 35 seconds after the first bidirectional client connected. The recover metrics panicked on subscribe with recovery (centrifugal/centrifuge#622). - Fewer allocations with
prometheus.client_labels—centrifugo_transport_messages_receivedandcentrifugo_transport_frame_sizebuilt a label key on every received command and frame. They now reuse the key computed at connect time, so there are no allocations on these paths. - Admin web UI: switching the trace type now resets the filter validity flag. Before that an invalid CEL filter typed on one tab blocked starting a trace on another tab, even though the filter field was empty.