Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .agents/skills/apm-integrations/references/orchestrion.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,22 @@ For integrations wrapping multiple methods, create a separate plugin class per m

## Common Issues

### Channel Name Mismatch (Migration Pitfall)
**Symptom**: Tests hang or exit 137 (OOM); spans never finish; plugin receives no events
**Cause**: Using full `apm:` channel names in the orchestrion config's `channelName` field. Orchestrion **prepends** `tracing:orchestrion:{module}:` automatically — if `channelName` already contains a prefix, it becomes double-prefixed and no plugin subscribes to it.

```javascript
// ❌ WRONG — channelName already has the apm: prefix
{ channelName: 'apm:mariadb:query:start' }
// creates: tracing:orchestrion:mariadb:apm:mariadb:query:start ← nobody subscribes

// ✅ CORRECT — short name only
{ channelName: 'query:start' }
// creates: tracing:orchestrion:mariadb:query:start ← plugin subscribes via static prefix
```

**Fix**: Use short names in `channelName` (e.g. `query:start`, `Client_query`). The full channel name is formed at runtime.

### Wrong filePath
**Symptom**: No channel events published
**Fix**: Verify the method is actually defined in that file (not re-exported from elsewhere)
Expand Down
Loading
Loading