-
Notifications
You must be signed in to change notification settings - Fork 17
feat: Initial commit of OpenTelemetry MCP Server #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
8d2ce1c
f7b8071
340e238
f611841
963ebc9
a19d316
9c72563
30eecb6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| # Python | ||
| __pycache__/ | ||
| *.py[cod] | ||
| *$py.class | ||
| *.so | ||
| .Python | ||
| *.egg-info/ | ||
| dist/ | ||
| build/ | ||
| *.egg | ||
|
|
||
| # Virtual environments | ||
| .venv/ | ||
| venv/ | ||
| ENV/ | ||
| env/ | ||
|
|
||
| # Testing | ||
| .pytest_cache/ | ||
| .coverage | ||
| htmlcov/ | ||
| .mypy_cache/ | ||
| .ruff_cache/ | ||
|
|
||
| # IDE | ||
| .vscode/ | ||
| .idea/ | ||
| *.swp | ||
| *.swo | ||
| *~ | ||
|
|
||
| # Git | ||
| .git/ | ||
| .gitignore | ||
|
|
||
| # Documentation | ||
| *.md | ||
| !README.md | ||
| docs/ | ||
|
|
||
| # CI/CD | ||
| .github/ | ||
|
|
||
| # Environment files (include these at runtime instead) | ||
| .env | ||
| .env.local | ||
| .env.*.local | ||
|
|
||
| # UV cache | ||
| .uv/ | ||
|
|
||
| # macOS | ||
| .DS_Store | ||
|
|
||
| # Tests | ||
| tests/ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| # Backend Configuration | ||
| # Supported backends: jaeger, tempo, traceloop | ||
| BACKEND_TYPE=jaeger | ||
|
|
||
| # Backend URL (required) | ||
| # Examples: | ||
| # Jaeger: http://localhost:16686 | ||
| # Tempo: http://localhost:3200 | ||
| # Traceloop: https://api.traceloop.com/v2 | ||
| BACKEND_URL=http://localhost:16686 | ||
|
|
||
| # Optional: API key for authenticated backends (mainly for Traceloop) | ||
| BACKEND_API_KEY= | ||
|
|
||
| # Optional: Comma-separated list of environments for Traceloop backend (default: production) | ||
| # Only used when BACKEND_TYPE=traceloop | ||
| BACKEND_ENVIRONMENTS=production | ||
|
|
||
| # Optional: Request timeout in seconds (default: 30) | ||
| BACKEND_TIMEOUT=30 | ||
|
|
||
| # Optional: Logging level (DEBUG, INFO, WARNING, ERROR) | ||
| LOG_LEVEL=INFO | ||
|
|
||
| # Optional: Maximum traces per query (default: 100, max: 1000) | ||
| MAX_TRACES_PER_QUERY=100 | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,77 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name: CI | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| push: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| branches: ["main"] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pull_request: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| types: [opened, synchronize] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| lint: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name: Lint | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Setup UV | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uses: astral-sh/setup-uv@v3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| version: "latest" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| enable-cache: true | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Setup Python | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uses: actions/setup-python@v5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| python-version: "3.12" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Install dependencies | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| run: uv sync --dev | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Lint with Ruff | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| run: uv run ruff check --output-format=github | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Lint with Mypy | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| run: uv run mypy . | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| test: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name: Test | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Setup UV | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uses: astral-sh/setup-uv@v3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| version: "latest" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| enable-cache: true | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Setup Python | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uses: actions/setup-python@v5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| python-version: "3.12" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Install dependencies | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| run: uv sync --dev | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Test with pytest | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| run: uv run pytest | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| build-test: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| needs: test | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| strategy: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| matrix: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| platform: [amd64, arm64] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| include: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - platform: amd64 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| docker-platform: linux/amd64 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - platform: arm64 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| runs-on: Linux-ARM64 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| docker-platform: linux/arm64 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+48
to
+60
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chainClarify matrix configuration for platform-specific runners. The build-test job specifies To properly use different runners per platform, you need to reference the matrix value in the job's build-test:
needs: test
- runs-on: ubuntu-latest
+ runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
platform: [amd64, arm64]
include:
- platform: amd64
runs-on: ubuntu-latest
docker-platform: linux/amd64
- platform: arm64
runs-on: Linux-ARM64
docker-platform: linux/arm64Also note that "Linux-ARM64" runners are typically self-hosted and may not be available in all GitHub organizations. Verify that the Linux-ARM64 runner is available in your GitHub organization, or consider using GitHub's hosted ARM runners if available in your plan. I'll verify the review comment's claims about GitHub Actions matrix configuration and available runners. 🌐 Web query: 💡 Result: Short answer: GitHub Actions doesn't automatically override a job's runs-on from the matrix — you must explicitly use a matrix expression for runs-on (e.g. runs-on: ${{ matrix.os }}) or put runner labels into matrix include values and reference them. For self‑hosted runners some runners (e.g. CodeBuild-hosted) accept label-style overrides inside runs-on entries. [1][2][3] How to do it:
Example minimal snippet: Sources: GitHub Docs (matrix usage) [2], community Q&A explaining runs-on behavior [1], matrix include/exclude examples [3], and provider-specific label overrides (CodeBuild example) [4]. 🌐 Web query: 💡 Result: Available GitHub-hosted Linux ARM64 runner labels (current GitHub docs):
Notes:
Sources: [1] GitHub-hosted runners reference; [2] GitHub Changelog (arm64 runners GA); [3] actions/runner-images repo. Matrix configuration prevents platform-specific runners from being used. The job-level To use different runners per platform, explicitly reference the matrix value: build-test:
needs: test
- runs-on: ubuntu-latest
+ runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
platform: [amd64, arm64]
include:
- platform: amd64
runs-on: ubuntu-latest
docker-platform: linux/amd64
- platform: arm64
runs-on: Linux-ARM64
docker-platform: linux/arm64Note: "Linux-ARM64" is not a standard GitHub-hosted runner. Verify it exists as a self-hosted runner in your organization, or consider using GitHub's hosted ARM64 runners ( 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Set up Docker Buildx | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uses: docker/setup-buildx-action@v3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Create GH token file | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| run: echo "${{ secrets.GH_ACCESS_TOKEN }}" > gh_token.txt | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Docker Build | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uses: docker/build-push-action@v6 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| platforms: ${{ matrix.docker-platform }} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| context: . | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| push: false | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| secret-files: | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "gh_token=gh_token.txt" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 3.12 |
Uh oh!
There was an error while loading. Please reload this page.