You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by GitBox <gi...@apache.org> on 2026/10/09 02:50:13 UTC
[GH] (rocketmq-clients/master): Workflow run "npm_and_yarn in /nodejs for @opentelemetry/core - Update #1618520948" is working again!
The GitHub Actions job "npm_and_yarn in /nodejs for @opentelemetry/core - Update #1618520948" on rocketmq-clients.git/master has succeeded.
Run started by GitHub user dependabot[bot] (triggered by dependabot[bot]).
Head commit for run:
8fd7226cd3fd64b30c3afa2a7386e8058de7f41b / zhaohai <33...@users.noreply.github.com>
Feat/nodejs metrics export (#1387)
* feat(nodejs): support NOTIFY_UNSUBSCRIBE_LITE_COMMAND and message interceptor hooks
- BaseClient: add onNotifyUnsubscribeLiteCommand hook (warn by default,
overridden by lite push consumers)
- TelemetrySession: dispatch NOTIFY_UNSUBSCRIBE_LITE_COMMAND (was falling
through to the unknown-command branch)
- LitePushConsumerImpl: override the command handler with the endpoints-aware
signature and forward to the lite subscription manager
- BaseClient: drop the commented-out recover-orphaned-transaction reply
(warn only, no reply)
- New hook package: MessageHookPoints, MessageHookPointsStatus,
Attribute/AttributeKey, MessageInterceptor(+Context/Impl),
CompositedMessageInterceptor and InflightRequestCountInterceptor; clients
expose addMessageInterceptor and doBefore/doAfter, configurable via
BaseClientOptions#messageInterceptor
- Wire hook points: SEND (producer), RECEIVE/ACK/CHANGE_INVISIBLE_DURATION
(consumer), CONSUME (consume task); push consumers register the built-in
inflight request count interceptor
- Tests: cover telemetry dispatch and interceptor chain ordering, error
isolation, attribute propagation and inflight counting
* feat(nodejs): wire COMMIT_TRANSACTION / ROLLBACK_TRANSACTION / FORWARD_TO_DLQ hook points
Complete the remaining 3 of the 8 MessageHookPoints:
- K-2 Producer#endTransaction fires COMMIT_TRANSACTION / ROLLBACK_TRANSACTION
(selected by resolution === COMMIT), hook status OK/ERROR taken from the
response Code or the thrown error.
- K-3 Consumer#forwardMessageToDeadLetterQueueViaRpc fires FORWARD_TO_DLQ
around every DLQ RPC attempt. ProcessQueue now forwards the MessageView
so interceptors observe the real message.
- Add 4 regression tests (transaction hooks, DLQ hook, error paths);
offline suite 119/119, integration 16/16.
* feat(nodejs): add metrics export pipeline over OpenTelemetry / OTLP gRPC
Add src/metrics/*:
- ClientMeterManager rebuilds an OpenTelemetry SdkMeterProvider on every
settings command, exporting the four RocketMQ histograms (send cost
time, delivery latency, await time, process time) with explicit bucket
boundaries, plus consumer cached-message gauges. Every export request is
signed through the client's MQv2-HMAC-SHA1 metadata provider.
- MessageMeterInterceptor records the histograms at the SEND / RECEIVE /
CONSUME hook points via the interceptor chain.
- PushConsumerGaugeObserver aggregates cached messages/bytes per topic.
- BaseClient wires the manager (created in the constructor, reset from
onSettingsCommand, shut down on client shutdown).
Report URL: https://github.com/apache/rocketmq-clients/actions/runs/37876069192
With regards,
GitHub Actions via GitBox