Skip to content

Commit 06acd20

Browse files
wu-shengclaude
andcommitted
chore: update plugin-test skill with container debugging guidance
Add documentation for permanent 502 / empty segments failures and local vs CI differences for plugin integration tests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent ba9f9b3 commit 06acd20

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

.claude/skills/plugin-test/SKILL.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,22 @@ Plugin library failed to install in Docker. Check:
162162
- requirements.txt content in the test directory
163163
- Docker compose command for the service
164164

165+
### Failure - Permanent 502 / Empty Segments
166+
If the consumer returns 502 indefinitely and no segments are collected:
167+
- Check container logs: `docker logs sw_<name>-consumer-1`
168+
- Look for whether Flask actually started (should see `* Running on http://`)
169+
- Common cause: `pip install -r requirements.txt` in the Docker container downgrades shared dependencies (urllib3, charset-normalizer) that break the Flask/agent startup
170+
- Run `docker exec sw_<name>-consumer-1 pip list` to check installed package versions
171+
- The Docker image has pre-installed packages from `make install`; test-specific `pip install` can create conflicts
172+
173+
### Local vs CI Differences
174+
- CI runs on Linux with native Docker — faster, more reliable networking
175+
- macOS Docker Desktop runs containers in a Linux VM — additional latency
176+
- Some tests may fail locally due to dependency conflicts in containers but pass in CI where the environment is cleaner
177+
- For authoritative span data verification, rely on CI results
178+
- Locally, verify: (1) Docker image builds, (2) agent loads all plugins (`docker run --rm <image> python3 -c "from skywalking.plugins import install"`)
179+
- To debug container issues locally: `docker compose -f <path>/docker-compose.yml up` (foreground) and watch logs
180+
165181
## Plugin Name to Test Path Mapping
166182

167183
| Plugin | Test Path |

0 commit comments

Comments
 (0)