Context
During Discord integration testing, netclaw stats and the /api/health/status endpoint report Slack telemetry counters (slackCounters) even when Slack is not active, and have no Discord equivalent.
Current status response includes:
"telemetry": {
"slackCounters": {
"eventsReceived": 344,
"eventsDropped": 252,
"eventsRouted": 344,
"messagesEnqueued": 92,
"repliesPosted": 136,
"repliesRejected": 0,
"repliesFailed": 0
}
}
Expected Behavior
- Only show counters for active channels
- Add equivalent
discordCounters when Discord is enabled
- Ideally, make the counters channel-agnostic or keyed by channel type (e.g.,
channelCounters: { "slack": {...}, "discord": {...} })
Key Files
src/Netclaw.Daemon/Gateway/DaemonStatsService.cs
src/Netclaw.Daemon/Gateway/DaemonRuntimeStatusService.cs
src/Netclaw.Channels.Discord/ — needs telemetry counters wired up
src/Netclaw.Channels.Telemetry/ — shared telemetry infrastructure
Context
During Discord integration testing,
netclaw statsand the/api/health/statusendpoint report Slack telemetry counters (slackCounters) even when Slack is not active, and have no Discord equivalent.Current status response includes:
Expected Behavior
discordCounterswhen Discord is enabledchannelCounters: { "slack": {...}, "discord": {...} })Key Files
src/Netclaw.Daemon/Gateway/DaemonStatsService.cssrc/Netclaw.Daemon/Gateway/DaemonRuntimeStatusService.cssrc/Netclaw.Channels.Discord/— needs telemetry counters wired upsrc/Netclaw.Channels.Telemetry/— shared telemetry infrastructure