leizhiyuan opened a new pull request, #1641:
URL: https://github.com/apache/rocketmq-dashboard/pull/1641
## Summary
Adds message query and trace support for Tencent Cloud RocketMQ 5.x
instances on the
`rocketmq-studio` branch, mapping the Tencent `provider/tencent` (Trocket
v20230308 OpenAPI) to the
message query surface. Fixes #1639.
## Changes
**Message query & trace (Tencent provider)**
- `queryMessages` - by message ID via `DescribeMessage` (full detail with
body, properties,
producer, store time); by topic / time / key / tag via
`DescribeMessageList` (async task-based
query: first call uses an empty `TaskRequestId`, response returns the task
id for paging).
- `getMessageTrace` - `DescribeMessageTrace` parses the per-stage JSON
payload
(`produce` / `persist` / `consume`) into `TraceNodeVO` nodes and
`ConsumerStatusVO` entries
(consumer group, delivery status, retry count). The `topic` is threaded
through the trace call
chain (`MessageController` / `MessageService` / `InstanceProvider` /
`MessageProvider`) because
the API rejects an empty `Topic`.
**Time parsing**
- Tencent returns `ProduceTime` in several shapes (`yyyy-MM-dd HH:mm:ss`,
`.SSS`, `,SSS`). The
parser accepts the common formats and falls back to epoch-millis for
numeric values.
**Tag / key surfacing**
- `DescribeMessage` carries tag and key inside `Properties` as `TAGS` /
`KEYS`; they are extracted
onto the record so the message detail/list page shows them.
## Testing
- Unit tests added for the Tencent provider: msgId detail query (body + tag
+ key extraction),
topic/key list query (incl. empty `TaskRequestId`), and trace stage mapping
(produce/persist/consume, delivery status + retry count). Signatures for
`getMessageTrace` were
updated across providers and their tests.
- Backend: `mvn test` passes (896+ tests, 0 failures); checkstyle clean.
- Frontend: lint/prettier clean; the trace tab now passes `record.topic`.
- Manually verified against a real Tencent Cloud RocketMQ 5.x instance:
message list by topic shows
real store times, msgId detail shows body/tag/key, and the trace tab
renders produce/persist/
consume nodes and consumer status.
## Notes
- Scoped to `rocketmq-studio`; this PR stacks on the still-open
consumer-group PR #1591, so until
that merges the diff also contains the consumer-group changes.
- Dead-letter (DLQ) message operations for Tencent remain unsupported.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]