Hacker Newsnew | past | comments | ask | show | jobs | submit | bripkens's commentslogin

Glad you find it useful! :)


It adds notable complexity, and I sense that the whole server/client side component reality is wildly ill-understood.


Web browser developer tools are incredible, but what do you do when more of your work is shifting to the server? These tools are no longer available or only provide minimal insights. Bye-bye network tab and source tab! That's a challenge for developers adopting React Server Components (RSCs).


Not quite sure what the big challenge is here. If the work is shifting to the server, you debug on the server! Read the logs. Attach a debugger. Instrument the code if you must! All that usual stuff. This is how web-development has been since the days of CGI. What am I missing?


> Read the logs.

I've noted a tendency to not log stuff in some js-first devs i know ... they all say 'i'll reproduce it locally'...


Ok genuine question, since I feel like I’m using logs wrong:

How much stuff do you log in the server? I’ve only ever seen devs log basic high-level stuff. But to actually debug something, you need way more information.

I’ve tried sticking debug-level logs that log all sorts of business logic. Pretty much recreating what you would do with console.log when trying to isolate an issue locally.

But then you have your code permanently littered with debug log lines! It makes things… ugly!!

If you NEED detailed logging, do you just deal with the uglified code? Or is there a better solution? Decorators that logs parameters and such automatically??


how else would one reproduce a bug? in production?

or is it best practice to patch with logs only without reproduction


> how else would one reproduce a bug? in production?

I don't think they meant "either" "or". I think they meant that you should not solely rely on reproducing issues locally. If you have good logging, many times, the logs would make it apparent where the issue is. When that fails, then you resort to reproducing the issue locally.

But if an app developer never adds any logs, they would be forced to reproducing the issue locally every single time which is counter productive.

So it isn't either logs or reproduce locally. It is add logs and read logs. But also reproduce locally when you really have to.


There are often additional hints to go by, e.g., the executed network requests, the user path taken or "breadcrumbs", i.e., custom events captured.

Of course that requires a certain operational maturity.


In my head that feels like triaging but idk people really be patching bugs without reproducing? That sounds crazy to me idk why

I've never worked at a place that had local dev used to think computers hated me but wondering if this is better dev practice in general


Who said anything about not reproducing?

It just takes a lot less time to reproduce if you have some logging in production... and some people seem to believe that's not needed.

And if you have logs, you may not need to reproduce it because said logs give you all the info you need.

Disclaimer: circumstances may vary. A bug is a bug is a bug and you may solve it by reading one log line, or you may spend a week with a debugger in your development environment and it will still crash in production when you deploy the fix.

Happy now?


What's missing are the summaries that web developers are commonly used to. For example, the network tab in the developer tools. It is arguably very handy for development – and often more actionable than having to step through individual requests.

But you are of course also right that you can just attach a debugger. That's also called out in the article.


And these days, you use the same browser debug tools to attach to nodejs.


Yes, but it's missing the network tab, see https://github.com/nodejs/diagnostics/issues/75


For local development, yes. But I see that almost never done in production settings, especially with containerized workloads. Is there a neat way to do it in Kubernetes?


Well, I suggest never enabling the debugger in production.

But if you meant a local or dev server where you start node with --inspect then the port to forward is 9229 by default.


You should put all these interactions on the web. For education purposes ofc.


Somewhat unrelated, but I'd love to have an ability to export Google docs to semantic HTML. To easily put legal documents on websites. It is otherwise a big pita in the collaboration with legal and updates to ToS/privacy policy etc.


You can use the add-on Docs to Markdown Pro to export the Google Docs as a Semantic HTML without the additional span tags that are included when you download using the native download option. https://workspace.google.com/marketplace/app/docs_to_markdow...


Pretty interesting visualization. I wonder if you could indicate better that the dial can be interacted with via the mouse?


You should be able to grab any of the cities on the dial and spin them with your mouse. If that doesn't work, could you share your device details? (also if it does work, if you don't mind confirming). Thanks


Yes, it absolutely works. I meant that this is currently not intuitively discoverable :)


thanks for the feedback, will put that on for our update


Perses is an excellent step towards vendor neutrality. We at Dash0 are basing our dashboarding data model entirely on Perses to allow you to bring/take away as much of your configuration as possible.

The team around Perses did a solid job coming up with the data model and making it look very Kubernetes manifest-like. This makes for good consistency, especially when configuring via Kubernetes CRs.


The OpenTelemetry collector works very well for us – even for internal pipelines. You can build upon a wide array of supported collector components; extending it with your own is also relatively straightforward. Plus, you can hook up Kafka (and others) for data ingress/egress.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: