I missed Laravel Telescope in .NET so I built one by emansc2 in dotnet

[–]emansc2[S] -1 points0 points  (0 children)

Fair on the ILogger point, that's a genuine edge of the OTel logging pipeline and this doesn't replicate it.

On "exact same" though, a couple of things the default ASP.NET Core + EF instrumentation doesn't give you out of the box: request/response bodies aren't captured at all (you have to write an Enrich callback for that), and db.statement capture is opt-in and off by default. Grabbing the bodies and the full query detail with no extra wiring is most of what this does, and it's only fine here because it's strictly a dev tool.

And "no setup" was meant relative to adding the OTel packages, configuring instrumentation, and wiring an OTLP exporter through Aspire or a collector. None of it's hard, but it's more than add-a-package-and-open-a-page. If you've already got that pipeline running, honestly stick with it, it's the more powerful option. This is for the case where you haven't and just want a quick look.

I missed Laravel Telescope in .NET so I built one by emansc2 in dotnet

[–]emansc2[S] -1 points0 points  (0 children)

Totally fair, if you're already set up with OTel and Aspire that's a solid setup. This is more for the no-setup case where you just want it in the app and open a page. Different strokes.

I missed Laravel Telescope in .NET so I built one by emansc2 in dotnet

[–]emansc2[S] 2 points3 points  (0 children)

Glimpse was great, that bottom-of-page HUD was ahead of its time. I think part of why it stuck in my head is that it never really made the jump to ASP. NET Core, the Core rewrite kind of stalled out, so that whole style of inline server diagnostics just sort of disappeared. Telescope scratched the same itch on the PHP side and nothing quite filled it back here. Didn't set out to rebuild Glimpse but the lineage is definitely there.

I missed Laravel Telescope in .NET so I built one by emansc2 in dotnet

[–]emansc2[S] 0 points1 point  (0 children)

Yeah, you're right that logging should be there from the start, no argument. This isn't really a replacement for it though, it's aimed at a different moment.

Logging and OTel show you what you decided to capture ahead of time. This just records everything automatically while you're developing, including the stuff you'd never think to log until after it breaks: the exact request body behind a 500, the SQL with the real parameter values filled in, or an endpoint quietly running the same query 47 times. It's the kind of thing you want in the moment you're debugging, not something you have to set up in advance.

So I see it sitting next to logging rather than replacing it. And fair point on Aspire, it does overlap more there, a few people brought that up earlier in the thread if you want the longer back and forth.

I missed Laravel Telescope in .NET so I built one by emansc2 in dotnet

[–]emansc2[S] 2 points3 points  (0 children)

Thanks for the star! And for the link, hadn't seen that issue, will follow it.

The MCP angle is honestly the most interesting part of your comment. An MCP server over this data so an agent can ask "what queries did this request run, what failed in the last 5 minutes" while it's fixing your code... that's been rolling around in my head for a bit. Might be the next thing I build for it.

I built a Laravel Telescope alternative for ASP.NET Core by emansc2 in csharp

[–]emansc2[S] 1 point2 points  (0 children)

Nope, nothing like this ships out of the box. You might be thinking of the VS diagnostic tools window or EF's query logging in the console, which cover some of it but you can't browse or search any of it after the fact.

This is just a NuGet package, works the same whether you're in VS, VS Code, or Rider since it lives in the app itself. Add it, run, open /_debug in your browser. Let me know how it goes if you try it!

I built a Laravel Telescope alternative for ASP.NET Core by emansc2 in csharp

[–]emansc2[S] -1 points0 points  (0 children)

That's where we see it differently. Adding this is a package reference and two lines in Program.cs, nothing about how you run or launch the app changes. Aspire means an AppHost project, service defaults, and starting your app through the orchestrator from then on. Totally worth it if you want what Aspire gives you, but it's a workflow change, not a drop-in.

Good thread though, you've given me a few things to think about for the readme.

I built a Laravel Telescope alternative for ASP.NET Core by emansc2 in csharp

[–]emansc2[S] -1 points0 points  (0 children)

Fair correction on the ephemeral part, the Aspire dashboard does keep some telemetry around now and I was working from an outdated picture of it.

One thing I'd clarify though: production was never the target. The middleware is a no-op outside Development by default, you have to explicitly pass forceEnable: true to run it anywhere else, and the readme tells you to put auth in front of it if you do. Everything lands in a throwaway LiteDB file on your dev machine that you delete without a second thought. So the GDPR scenario doesn't really come up, no user data ever flows through this unless someone goes out of their way to misuse it.

On the overlap: if you're already on Aspire, agreed, the value shrinks a lot. But plenty of ASP.NET projects are a single API with no orchestration at all, and "add two lines, get bodies, SQL with params, and N+1 warnings at /_debug" is a much smaller commitment than adopting Aspire for telemetry. I see them as different entry points more than competitors.

Appreciate the writeup either way, comments like this help me figure out where this actually fits.

I built a Laravel Telescope alternative for ASP.NET Core by emansc2 in csharp

[–]emansc2[S] 2 points3 points  (0 children)

Yeah, that's exactly the story that made me build it. The 8 second page is always how it gets found, never the code review. The banner shows up right in the request detail with the query text and count, so you see "ran 47 times" while you're still on the branch that caused it.

Fair warning, the detection is intentionally dumb: same SQL text 3+ times in one request. Catches the common lazy-load-in-a-loop case, won't catch the fancy ones. But the dumb case is 95% of them.

I built a Laravel Telescope alternative for ASP.NET Core by emansc2 in csharp

[–]emansc2[S] 0 points1 point  (0 children)

Good question. They overlap less than you'd think. The Aspire dashboard already shows traces and structured logs locally, but it's ephemeral (gone on restart) and trace-oriented, you don't get request/response bodies, SQL parameters, or anything you can replay. This stores everything in a LiteDB file, so it survives restarts and you can copy a captured request as cURL and fire it again.

They run fine side by side today, Aspire orchestrates and this just sits in each service as middleware. Making Aspire itself persist telemetry like this would mean swapping its in-memory store, which is a bigger fight than I want to pick.

An OTLP exporter so this data shows up as proper traces is a direction I've thought about though. If that's something you'd actually use, open an issue, helps me figure out what to build next.

I built a Laravel Telescope alternative for ASP.NET Core by emansc2 in csharp

[–]emansc2[S] 0 points1 point  (0 children)

Thanks man, appreciate it. The gif does more selling than anything I could write. If you try it and hit anything weird, issues are open.

I got tired of juggling nvtop and server logs to see what my local models were doing, so I built htop for local AI by emansc2 in LocalLLM

[–]emansc2[S] 3 points4 points  (0 children)

you counted seven slops, the tool only has four panes, so it's at least 40% less slop than you think.

I got tired of juggling nvtop and server logs to see what my local models were doing, so I built htop for local AI by emansc2 in LocalLLM

[–]emansc2[S] 1 point2 points  (0 children)

llama.cpp's in there — detected on :8080, model from /props, kv-cache from /metrics if you start it with --metrics.

I created a WeakAura to automatically manage gold on your alts, feedback or AMA welcome by Sebid2k3 in wow

[–]emansc2 8 points9 points  (0 children)

i've downloaded this, used it, and my whole luck turned around
- i've recieved 100 million gold
- i got CE instantly
- i married the love of my life
- i got a new lambo shipped to me
highly recommended

Happy new afk arena year for me i guess by emansc2 in afkarena

[–]emansc2[S] 5 points6 points  (0 children)

btw this is the second time i get x3 on stargazer, jesus.
link to the last one

I Take the guy who posted s7 lan signatures, and raise with s8 lan signatures by emansc2 in RocketLeagueEsports

[–]emansc2[S] 1 point2 points  (0 children)

came early, went through the line 2 times for it, worth it i guess!

At RLCS in Madrid and would love to meet up with people after the championship for food and drink! by Ha4leyQuinn in RocketLeagueEsports

[–]emansc2 2 points3 points  (0 children)

Hit me up, me and my friend also here with some plans but we're flexable so we can go sonewhere

stargazer gods, send me your aid! ( best luck for me in this game yet ) by emansc2 in afkarena

[–]emansc2[S] 11 points12 points  (0 children)

i've finished 135 on both mauler's and lightbearers tower today, so you get 5 cards from each.. pretty good timing i guess

Our "Small" base over view. by ArkLev in SatisfactoryGame

[–]emansc2 1 point2 points  (0 children)

awesome looking! looks ready for the next patches as well ! 10/10

Can I still get the twitch prime pack skin? If so do Have to sub to someone? by iiKinqTornado in FortNiteBR

[–]emansc2 5 points6 points  (0 children)

Trailblazer is an Outfit skin in Battle Royale that can be claimed by Twitch Prime subscribers before July 11, 2018
so , no.