vedant_ag
Ask HN: Why both distributed tracing and logging (for backend services)?
I know most observability companies (Datadog, New Relic, Elastic, grafana, ...) will want us to believe that we need *both*. But why?Isn't tracing a superset of logs? Instead of logging won't it be better to add some attributes to traces?I used ddog apm, and GCP stackdriver too. But I believe if I got the query capabilities of stackdriver in ddog, I would have saved few $k's in monthly infra...
Testing in Production: The Great Leap Forward
We natively handle API and DB calls.
> 2. Non determinism: for example returns a random number, guid or a time
This is a bit tricky. We run the same test multiple times, and ignore the changing fields.
> 3. Privacy requirements for certifications or legislation that mean private data cannot be used in a test environment. > > 4. GDPR laws
We anonymise *any* private data before storing it for replay.
> 5. Authentication
We capture auth headers, and mock auth server responses.
> I presume this is more microservice friendly and monolith unfriendly. But that is probably a reason on the pro side of smaller, bounded services.
Currently yes. APIs can be easily tested. Tests for function calls will require user configuration.
In theory, *everything* can be recorded and replayed; that's the magic of patching-in at the application layer. *Any* function call can be recorded, and, replayed.
In practice, we support whatever is demanded by our customers. If people are ready to pay for something, we are happy to build support for it.
OTel for go requires user code changes. Languages that allow monkey-patching (java, js, python, etc.).
> I wonder if it can be done purely using OpenTelementry (e.g. you depend on typical OTel setup), and then read the data directly from OTel DB.
OTel doesn't work out of the box. OTel usually doesn't collect request or response for any network or db call. 90% of my time is spent on extending the individual agents' code; so that they can collect additional required information, and perform "replay".
This is so true. I ran into this problem when I was trying to implement a kind of sampling that limited total RPS. Thanks for reminding. I am definitely looking into more sophisticated methods of sampling.
> I didn't see any explanation on how results are determined. I think it's important to surface those types of details on the website. I'm not going to watch the video on it in hopes of learning.
Good feedback! :)
New sessions - What is the use case for it? Its definitely possible.
> I've built this system at many companies myself.
Interesting! Would I know any of those companies/products?
Its simply a matter of using a baseline of: `production` (usually for regression tests), `staging` or `local`.
- Downstream calls (think DB, 3rd party API calls, kafka) are not handled.
Did you manage to play it back manually and/or via tests? I ran into unexpected challenges while doing this.
Implementation is very similar to an APM log. So the same performance and security concerns apply. We are working on giving both at the same time (Automated tests, and APM), to reduce overhead.
> 2. what is the sampling logic to capture the traffic? It might compromise the fidelity of the test data and give a false sense of test accuracy.
It is random sampling. I feel, 1M or 10M randomly sampled requests should cover all cases.
> 3. what is the duration of data capture? Is it a week's or month's or quarterly data? Meeting 90% coverage on a week's production sample data will provide a false metric.
I was thinking 1 week should be enough. Maybe we will have to add some custom sampling logic for lesser frequency calls (like monthly crons).
> 4. can it faithfully handle data privacy and customer anonymization? This is critical for API's dealing with PCI and other sensitive data.
Yes. Additionally, for compliance, we offer a self-hosted solution- Our code runs on your servers and no data ever leaves your cloud / on-prem.
Idea: An AI Bot to do common code maintenance tasks (delete code, ...)
It's another pet to me: I have to make sure it has a constant supply of electricity and internet. And requires maintenance from time to time.
Some photos here: https://vedantsopinions.medium.com/eth2-node-at-home-without...
"asking" can often come across as "questioning", especially in workplace chat (like on slack). As a manager I don't want to give this vibe to colleagues (reportees, peers, and seniors).
This makes sense.
Ask HN: Is Code Deletion Helpful?
There is a lot of online literature about the benefits of deleting stale/unreachable code.But in practice, do teams actually do this regularly? More importantly, does your manager recognise this as "work"?Or does it mean: code deletion is good when other people so that I don't have to but I don't invest my time into it? Like technical documentation.
Ask HN: Do startups hire overseas candidates?
How often do startups (YC or otherwise) hire from outside the US?I know the H1B process is tough and expensive. What if the candidate was willing to pay the attorney cost and try to get the visa with little help from the company? It will be a good show of faith as well.Or is it that most foreign talent isn't as good as those in the Valley/US?Also, what about remote work; are most startups...
Do startups hire from overseas for their, say, first 5 hires?
Are startups open to this or is the visa troubles not worth the upside of finding a good match?For context: I am from India, and have co-founded 2 companies and worked in one as employee#1.