Rival Abdrakhmanov's Avatar

Rival Abdrakhmanov

@rafaelldi.bsky.social

21 Followers  |  15 Following  |  44 Posts  |  Joined: 31.03.2025  |  2.0779

Latest posts by rafaelldi.bsky.social on Bluesky

.NET Aspire plugin card

.NET Aspire plugin card

We've reached 1 mln downloads of our #dotnet #aspire plugin for @jetbrains-rider.bsky.social

09.10.2025 07:11 โ€” ๐Ÿ‘ 22    ๐Ÿ” 3    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Aspire dashboard with the "Collect Memory Dump" command.

Aspire dashboard with the "Collect Memory Dump" command.

And here is #aspire dashboard with the ability to collect a memory dump from the running project. Works perfectly ๐ŸŽ‰

29.09.2025 18:16 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

A nice small detail: `sidecar.WithParentRelationship(project);`.

29.09.2025 18:12 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
A method to write a memory dump.

A method to write a memory dump.

An http endpoint to collect a memory dump.

An http endpoint to collect a memory dump.

An http command to collect a memory dump.

An http command to collect a memory dump.

And probably the last thing is to add an http endpoint and an http command to collect a memory dump.

29.09.2025 18:09 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
`DiagnosticsClientService` that contains `DiagnosticsClient`.

`DiagnosticsClientService` that contains `DiagnosticsClient`.

`ConnectorService` that connects to the diagnostic port and initializes the `DiagnosticsClientService`

`ConnectorService` that connects to the diagnostic port and initializes the `DiagnosticsClientService`

`Program.cs` with the service registrations

`Program.cs` with the service registrations

To connect to the port from the "sidecar" we can create a `BackgroundService` and use the `DiagnosticsClientConnector` class. This background service will then initialize a `DiagnosticsClientService` singleton service with the connected `DiagnosticsClient`.

29.09.2025 17:56 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Setting the `DOTNET_DiagnosticPorts` environment variable to the base project.

Setting the `DOTNET_DiagnosticPorts` environment variable to the base project.

To use it, we need to set the `DOTNET_DiagnosticPorts` environment variable to the base project. And then connect to the same diagnostic port from the "sidecar" project.

29.09.2025 17:46 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

The "sidecar" project will have a `DiagnosticsClient` library installed, but it have to connect to the base project. The better way to do that is probably the diagnostic port learn.microsoft.com/en-in/dotnet...

29.09.2025 17:41 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Add a "sidecar" project in the `AddProjectWithDiagnostics` method.

Add a "sidecar" project in the `AddProjectWithDiagnostics` method.

`/dump` endpoint inside the "sidecar" project

`/dump` endpoint inside the "sidecar" project

Something like this:

29.09.2025 17:32 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Or maybe it's just easier to create a separate "sidecar" project and run them both.

29.09.2025 17:26 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

To add a custom endpoint to a project in runtime, we probably need to use `DOTNET_STARTUP_HOOKS` github.com/dotnet/runti... and `IHostingStartup` learn.microsoft.com/en-us/aspnet...

29.09.2025 17:13 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
A custom extension point `AddProjectWithDiagnostics` with no additional configuration.

A custom extension point `AddProjectWithDiagnostics` with no additional configuration.

We will anyway modify the original project, so we will need a custom extension point `AddProjectWithDiagnostics`. So let's start with that.

29.09.2025 17:07 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

So, we need to add an additional endpoint to the project that will implement a command to create a memory dump.

29.09.2025 16:59 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

After a quick look through the documentation, I didn't fully understand how to implement my own command, but it seems I can implement a custom http command instead. That should be much easier.

learn.microsoft.com/en-us/dotnet...

29.09.2025 16:57 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Another thing is that I want to collect diagnostics data from the dashboard. So, I probably need to implement a custom resource command - learn.microsoft.com/en-us/dotnet....

29.09.2025 16:41 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

To collect diagnostics information, I could use the diagnostics client library (learn.microsoft.com/en-us/dotnet...). But I need to somehow attach the client to a running project.

29.09.2025 16:39 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
GitHub - rafaelldi/AspireDiagnostics: POC solution to collect diagnostics information from Aspire projects POC solution to collect diagnostics information from Aspire projects - rafaelldi/AspireDiagnostics

Ok, here is a repo for the POC github.com/rafaelldi/As...

29.09.2025 16:28 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Let's experiment with #dotnet #aspire (and probably explore some its new features). I want to somehow collect diagnostic data (e.g., memory dump) from a running project.

29.09.2025 16:27 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

And if you want to follow and support Argo and Dora, here are their handles: @mixedmartialarx.bsky.social and @doraspacexplora.bsky.social

28.09.2025 19:03 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

The episode is based on interviews from @the41stprecinct.bsky.social. He has a really interesting podcast about Disco Elysium. Highly recommend it!

28.09.2025 12:38 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Disco Elysium episode cover image

Disco Elysium episode cover image

Season finale. The second episode about Disco Elysium. This time, Iโ€™m telling the same story โ€” but from the perspective of someone who was actually there, watching it all unfold.

Ep. 11: open.spotify.com/episode/4Ur8...

28.09.2025 12:12 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Disco Elysium episode cover image

Disco Elysium episode cover image

From the humble beginnings of ZA/UM, through years of creative struggle, to a surprise global success - and then to a tangled web of conflicts. In this episode, we dive into how Disco Elysium was made and the challenges its creators faced.

Ep. 10: open.spotify.com/episode/06Fu...

22.09.2025 19:16 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Same:( only a wait list

11.09.2025 12:59 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

We have a new @jetbrains-rider.bsky.social tutorial for #AzureFunctions โšก๐Ÿ’ป

Some features were even news to me ๐Ÿ˜† Like log highlighting (requires some customizations) and debugging of production instances.

Check it out and let me know if I missed some more! ๐Ÿ‘€
www.jetbrains.com/guide/dotnet...

05.09.2025 11:12 โ€” ๐Ÿ‘ 3    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Released! podcast website

Released! podcast website

My small podcast now has its own website!

released.show

16.08.2025 18:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
JetBrains Rider 2025.2 is out

JetBrains Rider 2025.2 is out

Rider 2025.2 has just landed! ๐Ÿš€

๐Ÿค– Junie, the AI coding agent from JetBrains (Beta)
๐Ÿ“Š OpenTelemetry for runtime observability
๐Ÿ”— One-click MCP Server connectivity
๐Ÿฉบ Reworked Monitoring tool
๐ŸŽฎ Source-level shader debugging for Unity
โœจ โ€ฆand much more!

Get all the details here: jb.gg/rider-252-bluesky

14.08.2025 12:01 โ€” ๐Ÿ‘ 6    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1
Changelog of the Rider Aspire plugin

Changelog of the Rider Aspire plugin

The previous week was quite productive. A bunch of fixes and improvements for our #aspire plugin for Rider

#perasperaadastra

11.08.2025 09:47 โ€” ๐Ÿ‘ 1    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

For me, one of the biggest novelties of #dotnet #aspire was that the application could know the IDE existed. Not just an IDE running some abstract code, but they collaborate with each other. I imagine this could lead to some very interesting scenarios

28.07.2025 10:33 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Released! podcast cover image in the `Technically Speaking` list

Released! podcast cover image in the `Technically Speaking` list

My little podcast was recently featured by @pocketcasts.com in their โ€˜Technically Speakingโ€™ list lists.pocketcasts.com/tech. It was a really unexpected surprise, and it truly feels like a big milestone for me. Huge thanks to the Pocket Casts team for the support!

25.07.2025 19:14 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Action to add .NET Aspire project to a solution

Action to add .NET Aspire project to a solution

An action to add .NET Aspire project to a project

An action to add .NET Aspire project to a project

Just added two actions to our @jetbrains-rider.bsky.social plugin to generate #aspire projects in one click. It's now very quick and easy to add .NET Aspire to an existing project and give it a go

25.07.2025 10:53 โ€” ๐Ÿ‘ 11    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image Post image

A cool thing about this OTel plugin is that it can instrument the code. So if your project doesn't have OTel nugets, the plugin will add them

17.06.2025 12:14 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@rafaelldi is following 15 prominent accounts