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]

Reply via email to