TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: An open source performance monitoring tool

135 点作者 podoman超过 1 年前
Hey HN. We’re Jay and Vadim from Highlight.io (<a href="https:&#x2F;&#x2F;highlight.io">https:&#x2F;&#x2F;highlight.io</a>). We’re building an open source [1] monitoring platform for web applications.<p>Today we’re excited to be sharing a performance tool we’ve been working on, which helps you inspect the latency of code execution from the client to the server. As engineers at past startups, we often had to debug slow queries, poor load times, inconsistent errors, etc... While tools like Jaegar [2] helped us inspect server-side performance, we had no way to tie user events to the traces we were inspecting. In other words, although we had an idea of what API route was slow, there wasn’t much visibility into the actual bottleneck.<p>This is where our performance product comes in: we’re rethinking a tracing&#x2F;performance tool that focuses on bridging the gap between the client and server.<p>What’s unique about our approach is that we lean heavily into creating traces from the frontend. For example, if you’re using our Next.js SDK, we automatically connect browser HTTP requests with server-side code execution, all from the perspective of a user. We find this much more powerful because you can understand what part of your frontend codebase causes a given trace to occur. There’s an example here [3].<p>From an instrumentation perspective, we’ve built our SDKs on-top of OTel, so you can create custom spans to expand highlight-created traces in server routes that will transparently roll up into the flame graph you see in our UI. You can also send us raw OTel traces and manually set up the client-server connection if you want. [4] Here’s an example of what a trace looks like with a database integration using our Golang GORM SDK, triggered by a frontend GraphQL query [5] [6].<p>In terms of how it&#x27;s built, we continue to rely heavily on ClickHouse as our time-series storage engine. Given that traces require that we also query based on an ID for specific groups of spans (more akin to an OLTP db), we’ve leveraged the power of CH materialized views to make these operations efficient (described here [7]).<p>To try it out, you can spin up the project with our self hosted docs [8] or use our cloud offering at app.highlight.io. The entire stack runs in docker via a compose file, including an OpenTelemetry collector for data ingestion. You’ll need to point your SDK to export data to it by setting the relevant OTLP endpoint configuration (ie. environment variable OTEL_EXPORTER_OTLP_LOGS_ENDPOINT [9]).<p>Overall, we’d really appreciate feedback on what we’re building here. We’re also all ears if anyone has opinions on what they’d like to see in a product like this!<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;highlight&#x2F;highlight&#x2F;blob&#x2F;main&#x2F;LICENSE">https:&#x2F;&#x2F;github.com&#x2F;highlight&#x2F;highlight&#x2F;blob&#x2F;main&#x2F;LICENSE</a><p>[2] <a href="https:&#x2F;&#x2F;www.jaegertracing.io" rel="nofollow">https:&#x2F;&#x2F;www.jaegertracing.io</a><p>[3] <a href="https:&#x2F;&#x2F;app.highlight.io&#x2F;1383&#x2F;sessions&#x2F;COu90Th4Qc3PVYTXbx9Xee7xbQqN?ts=5.243&amp;network-resource-id=25">https:&#x2F;&#x2F;app.highlight.io&#x2F;1383&#x2F;sessions&#x2F;COu90Th4Qc3PVYTXbx9Xe...</a><p>[4] <a href="https:&#x2F;&#x2F;www.highlight.io&#x2F;docs&#x2F;getting-started&#x2F;native-opentelemetry&#x2F;overview">https:&#x2F;&#x2F;www.highlight.io&#x2F;docs&#x2F;getting-started&#x2F;native-opentel...</a><p>[5] <a href="https:&#x2F;&#x2F;static.highlight.io&#x2F;assets&#x2F;docs&#x2F;gorm.png">https:&#x2F;&#x2F;static.highlight.io&#x2F;assets&#x2F;docs&#x2F;gorm.png</a><p>[6] <a href="https:&#x2F;&#x2F;github.com&#x2F;highlight&#x2F;highlight&#x2F;blob&#x2F;1fc9487a676409f12fb84709603dcdf0b4440952&#x2F;backend&#x2F;main.go#L218-L266">https:&#x2F;&#x2F;github.com&#x2F;highlight&#x2F;highlight&#x2F;blob&#x2F;1fc9487a676409f1...</a><p>[7] <a href="https:&#x2F;&#x2F;highlight.io&#x2F;blog&#x2F;clickhouse-materialized-views">https:&#x2F;&#x2F;highlight.io&#x2F;blog&#x2F;clickhouse-materialized-views</a><p>[8] <a href="https:&#x2F;&#x2F;www.highlight.io&#x2F;docs&#x2F;getting-started&#x2F;self-host&#x2F;self-hosted-hobby-guide">https:&#x2F;&#x2F;www.highlight.io&#x2F;docs&#x2F;getting-started&#x2F;self-host&#x2F;self...</a><p>[9] <a href="https:&#x2F;&#x2F;opentelemetry.io&#x2F;docs&#x2F;concepts&#x2F;sdk-configuration&#x2F;otlp-exporter-configuration&#x2F;#otel_exporter_otlp_endpoint" rel="nofollow">https:&#x2F;&#x2F;opentelemetry.io&#x2F;docs&#x2F;concepts&#x2F;sdk-configuration&#x2F;otl...</a>

11 条评论

kirubakaran超过 1 年前
Previously:<p>- <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=36774611">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=36774611</a><p>- <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35643255">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35643255</a><p>- <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=34897645">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=34897645</a>
Kovah超过 1 年前
Hi, this looks really nice as an alternative to Sentry. May I ask why the Docker-based setup requires Go, Node and Yarn on the host machine? I find it unfortunate that I have to install such non-standard tools on a machine to be able to run a setup that is based on Docker. This makes the whole setup way more complicated than it should be.
评论 #39243392 未加载
omeze超过 1 年前
(Im on mobile- sorry for the brevity&#x2F;lack of deep demo context, it seems like the demo links dont work super gracefully on mobile)<p>I clicked into the demo (reference 3 in your post) and I dont get how this is different from any off the shelf OTel solution like Lightstep or Jaeger. Otel already has client side vendors and SDKs (I was the engineer who introduced OpenTracing to Plaid, and we did both). Bridging cross-network traces is literally the point of OTel, so Im not sure why thats a differentiator for you… every system does it.
评论 #39253766 未加载
PreInternet01超过 1 年前
Sorry to be <i>that guy</i>, but the monospace font stack used for e.g. logs is... not optimal for Windows:<p><pre><code> IBM Plex Mono,Menlo,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier,monospace </code></pre> ...will end up being &quot;Courier&quot; and that&#x27;s not good in any way, shape or form. Consolas, Cascadia Code|Mono, even Lucida [Sans] Console are much nicer, and would spruce up the Safari experience for some segment of your audience.<p>Plus, not sure why timestamps use font-light (this is Tailwind, right?), it just makes these less readable, while not taking up less space or anything.
评论 #39234680 未加载
评论 #39238730 未加载
fifthofhisname超过 1 年前
Some of the traces include some important information regarding Supabase<a href="https:&#x2F;&#x2F;imgur.com&#x2F;a&#x2F;m9nTt2h" rel="nofollow">https:&#x2F;&#x2F;imgur.com&#x2F;a&#x2F;m9nTt2h</a>
jamager超过 1 年前
Your home page is apparently a &quot;welcome back&quot; screen. I can&#x27;t sign in with Github, get the error &quot;Unable to process request due to missing initial state. This may happen if browser sessionStorage is inaccessible or accidentally cleared. Some specific scenarios are - 1) Using IDP-Initiated SAML SSO. 2) Using signInWithRedirect in a storage-partitioned browser environment.&quot;<p>Would be nice to be able to see the product without having to sign in.
评论 #39235084 未加载
评论 #39234719 未加载
samstave超过 1 年前
Would this be useful to Shopify Shop Owners, those who buy 3rd party&#x2F;additional apps on the shopify app store (or any similar such services, like an etsy store)?<p>Can this be used as a pen-testing tool to Highlight-TraceRt through a {target url}?<p>--<p>Re:<p>Yeah, though what benefits would surmise a Shopify Shop Keeper could get from your service, or do you think this is a tool that Shopify Corporate should be using on their hosting infra?
评论 #39236397 未加载
评论 #39236886 未加载
viraptor超过 1 年前
Fyi, in the readme, the screenshot for the logs is the same as for the traces. I wanted to see the traces, so that was confusing.
评论 #39236855 未加载
withinboredom超过 1 年前
I&#x27;m curious: Why don&#x27;t you have a PHP SDK? You know, the language that runs over 70% of the internet.
评论 #39239128 未加载
ngalstyan4超过 1 年前
this is cool!<p>Does this only collect logs from frontend?<p>Or it can also collect the backend and DB latency data related to a frontend interaction?
评论 #39235388 未加载
loceng超过 1 年前
Might I suggest a complementary future feature set of load testing?
评论 #39262505 未加载