hyperdxio/hyperdx - Open Source PR Review Scorecard

Resolve production issues, fast. An open source observability platform unifying session replays, logs, metrics, traces and errors powered by ClickHouse and OpenTelemetry.

C-Rank Grade: A (Welcoming) - 68/100

External PR Merge Rate: 72%

Response Time: 2d

First Timer Success: 62%

Frequently Asked Questions

Is hyperdxio/hyperdx welcoming to first-time open-source contributors?

hyperdxio/hyperdx has a recorded first-timer success rate of 62.1%. Repositories ranked A typically provide actionable feedback during code reviews and actively nurture new community contributors.

How fast can I expect code review feedback on my pull request?

Maintainers in hyperdxio/hyperdx respond to incoming external pull requests in approximately 55.4 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 68.0 C-Rank™ score (A Tier) represent?

The C-Rank™ system evaluates GitHub projects on a 0–100 scale using real data: PR merge rates, review turnaround time, active maintainer presence, and first-time contributor success. A score of 68.0 places hyperdxio/hyperdx in the A tier.

What is the external contributor pull request merge rate for hyperdxio/hyperdx?

The external contributor pull request merge rate for hyperdxio/hyperdx is 72.0%, based on public PR activity from non-core contributors.

Are there Good First Issues available in hyperdxio/hyperdx?

hyperdxio/hyperdx currently has 3 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

hyperdxio
hyperdxio/hyperdxA•Welcoming9.9k
GitHub
Back to Explorer
hyperdxio

hyperdxio/hyperdx

9,939
Active (30d)A•Welcoming(68/100)TypeScript

Resolve production issues, fast. An open source observability platform unifying session replays, logs, metrics, traces and errors powered by ClickHouse and OpenTelemetry.

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

Strict Architecture Gatekeeper

Warmth Score
7.2/10
Patience Score
8.0/10
Nitpick Rate
25%

Strict review standards in hyperdxio/hyperdx. Ensure PR scope matches issue requirements closely before requesting review.

Top PR Submission Do's

  • •Ensure code complies with the project coding style
  • •Keep PRs scoped to a single concern
  • •Include context and link to the related issue

Top PR Friction Pitfalls (Don'ts)

  • •Do not submit PRs without linking an issue
  • •Do not break existing tests without fixing them
  • •Do not mix unrelated refactors in a single PR
Response Velocity
2 days+
Standard maintainer review cycle

Average Response Latency

Tracks hours until a maintainer leaves a review, comment, or PR response.

Merge Efficiency
72.0%
Moderate PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
62.1%
Strong first-timer PR acceptance rate

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
35 core
Highly collaborative maintainer core
Diagnostic Health HUD
72.0%
Merge Gauge
62.1%
1st-Timer
Community Vibe47/100

Embed C-Rank Badge

Show contributors that your repository actively reviews and merges external pull requests.

GetMerged C-Rank badge for hyperdxio/hyperdx
[![GetMerged C-Rank](https://getmerged.abhishekco.de/api/badge/hyperdxio/hyperdx)](https://getmerged.abhishekco.de/hyperdxio/hyperdx?utm_source=github&utm_medium=badge)

Active Good First Issues (5)

View on GitHub

What happened? With the "Relative Time" switch on, the picker greys out every preset above "Last 1 hour". That covers 3h, 6h, 12h, 1d, 2d, 7d, 14d and 30d. Nothing says why. So you can't pick an auto-updating 6-hour or 24-hour window from the UI. The limit is in the picker only. If you set a longer live range in the URL (for example isLive=true&liveInterval=21600000 for 6 hours), search live-tails that window without trouble. The switch label adds to the confusion. It says "Relative Time", and only its hover tooltip mentions Live Tail. It isn't clear that the switch turns on live tail, or why it hides most of the ranges. What I expected: Longer live ranges (at least 3h, 6h, 12h and 24h) can be picked from the picker, like they can from the URL. If a limit is intended (for example, to keep query load down), the disabled options say so in a tooltip. The switch label makes clear that it controls live tail. Steps to reproduce Open Search on any log source, for example the default otel_l

📅 Opened Sep 24, 2026💬 5 comments
Quality: 90/100Contribute

What happened? When a dashboard refreshes, most tiles keep showing the old result with no loading sign until the new data arrives. Only line and stacked-bar time charts pulse while they refetch. Number, table, bar and pie tiles look finished the whole time. You can't tell stale values from fresh ones, and with live refresh on you may act on numbers that are minutes old. Expected: every tile shows that it is refreshing (for example the same effect-pulse the time charts use) while it keeps the previous result on screen. Steps to reproduce Create a dashboard on the default otel_logs source with four tiles: a line time chart, a Number tile (for example count()), a Table tile grouped by ServiceName, and a Pie or Bar tile grouped by SeverityText. Pick a time range large enough that each query takes a second or more. You can also throttle the network in dev tools. Click "Refresh dashboard", or turn on live refresh. Watch the tiles while the queries run. The time chart pulses. The number, tab

📅 Opened Sep 24, 2026💬 8 comments
Quality: 90/100Contribute

What happened? A time chart with a positive Series Limit picks its top N groups from the newest query chunk only. By default that chunk is the last 15 minutes of the range. A group that was busy earlier but quiet at the end drops off the chart, even if it was the biggest series in the range. On a 24h or 7d chart this can hide exactly the spike you are looking for. The docs say something different: The Series Limit field in Display Settings says it keeps "those with the largest values". The MCP/API schema says it "keeps the top-N groups by aggregated value over the queried range". Nothing tells the user that "largest" only covers the last few minutes. What should happen: the top N groups are ranked over the whole chart range, as the docs describe. At minimum, the UI and API docs should say how the ranking works. Steps to reproduce Use the default otel_logs schema. Insert logs for ServiceName = 'svc-a', 10,000 rows spread over 23 hours starting 24 hours ago, and none in the last hour.

📅 Opened Sep 24, 2026💬 1 comment
Quality: 90/100Contribute

Selecting a map attribute as a column labels it with the raw ClickHouse function form. A user who adds LogAttributes['constructor.index_builder_ac_res_id'] gets a results-table header reading: arrayElement(LogAttributes, 'constructor.index_builder_ac_res_id') At our column widths that header is wider than the value it sits over, and several such columns make the table unreadable. The same string shows up in the SELECT box and in chart legends. Cause. The generated SQL emits the subscript expression with no alias, so ClickHouse names the result column with the canonical function form. That naming is ClickHouse behaviour, not a bug — it happens for any unaliased Map subscript: DESCRIBE (SELECT LogAttributes['constructor.index_builder_ac_res_id'], ResourceAttributes['service.name'] FROM otel.otel_logs LIMIT 0) arrayElement(LogAttributes, 'constructor.index_builder_ac_res_id') String arrayElement(ResourceAttributes, 'service.name') String

📅 Opened Sep 8, 2026💬 1 comment
Quality: 50/100Contribute

What happened? A saved search scoped via the filter bar (the filters array) instead of the where clause evaluates its alerts correctly — the threshold count respects the filters — but the sample events rendered into the notification body are queried without the filters. The alert fires saying "1 lines found" and then shows five arbitrary, unrelated log lines from the time window as evidence (in our case: Kubernetes reloader/info noise with empty service fields, while the actually-matched event was a service error). Expected: the sample lines come from the same row set the alert counted — the sample query should apply savedSearch.filters the same way evaluation does. Cause: the two paths build their queries differently. Alert evaluation (packages/api/src/tasks/checkAlerts/index.ts, getChartConfigFromAlert) passes filters: savedSearch.filters into the shared buildSearchChartConfig — per its own comment, so all paths assemble configs "identically". The sample fetch (packages/api/s

📅 Opened Sep 2, 2026💬 2 comments
Quality: 65/100Contribute
Looking for more TypeScript beginner tasks?Explore TypeScript GFI

Contributor Community Vibe Feedback

Rate what actually matters after opening a pull request here.

Have you contributed to this repo?

Rate your first-hand PR experience (review speed, maintainer responsiveness, and onboarding ease) to help other contributors.

3 ratings required
Maintainer helpfulness
Review speed
Beginner friendliness

Contributor Compatibility & Review Speed Analysis for hyperdxio/hyperdx

When evaluating whether to contribute to hyperdxio/hyperdx, response velocity and maintainer engagement are crucial. GetMerged continuously tracks pull request trajectories, first-comment latency, and code review rounds to help developers avoid submitting pull requests to backlogged repositories.

Currently, maintainers of hyperdxio/hyperdx acknowledge new external contributions in approximately 2 days+. Out of all submitted pull requests from non-core authors in the last 180-day window, 72.0% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to hyperdxio/hyperdx

01

Is hyperdxio/hyperdx welcoming to first-time open-source contributors?

hyperdxio/hyperdx has a recorded first-timer success rate of 62.1%. Repositories ranked Welcoming typically provide actionable feedback during code reviews and actively nurture new community contributors.

02

How fast can I expect code review feedback on my pull request?

The initial maintainer response time averages ~2 days+. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 68.0 C-Rank™ score represent?

The C-Rank™ index scores repositories on a 0 to 100 scale using an objective formula: external PR merge rates, initial response speed, active maintainer count, and first-time contributor retention. A score of 68.0 places hyperdxio/hyperdx in the Welcoming tier.

04

What is the external contributor pull request merge rate for hyperdxio/hyperdx?

The external pull request merge rate is 72.0%. GetMerged isolates non-core community contributions so external developers get an accurate benchmark of PR acceptance probability.

05

Are there beginner Good First Issues open in hyperdxio/hyperdx?

Yes, hyperdxio/hyperdx currently has 3 active issue(s) tagged with beginner-friendly labels. You can inspect these directly from the repository issues tab.

GetMerged C-Rank™ Indexing Standard

All metrics displayed for hyperdxio/hyperdx are automatically retrieved via the public GitHub API and recalculated daily. Insider pull requests submitted by repository owners or organization members are excluded from merge rate calculations to preserve objective external contributor statistics.