Phobos logo

We released Phobos, our enterprise DevOps suite for Akka.NET only just last month and we’ve already had major Akka.NET users put it through its paces in development and production environments. Based on our users’ feedback and suggestions, we’ve developed Phobos v0.6.0 and made it available for immediate release to all of our evaluation and production users.

If you missed our Phobos announcement here’s the gist of what Phobos does for Akka.NET users:

Phobos instrurments, monitors, and traces all activity from actors inside large Akka.NET applications and exports it to common, off-the-shelf monitoring tools used by .NET enterprises; it works over Akka.Remote and Akka.Cluster; and it can do all of this without any explicit instrumentation code at all. Phobos can be entirely driven through configuration and works automatically behind the scenes.

If you’d like more background information about Phobos, we highly recommend that you visit the Phobos homepage.

Here’s what’s in the newest version of Phobos:

Expanded Tracing and Monitoring Integrations

The biggest addition to Phobos in v0.6.0 is the expanded set of Phobos drivers for working with various monitoring and tracing systems. Here’s what is included in Phobos v0.6.0:

  • Tracing: Jaeger - we’ve added first party support for the popular open source Jaeger tracing engine, which is now available via the Phobos.Tracing.Jaeger NuGet package.
  • Tracing: Microsoft Application Insights - we’ve added OpenTracing-compatible tracing support for Microsoft Azure’s managed Application Insights service via the Phobos.Tracing.ApplicationInsights package.
  • Monitoring: Microsoft Application Insights - in addition to adding tracing support for Application Insights, we’ve also added corresponding monitoring support via the Phobos.Monitoring.ApplicationInsights NuGet package.

If you’re already using the Microsoft Azure platform, we think you’ll find Phobos’ Application Insights integration to be of particular interest to you. We put together a brief tutorial video showing what Phobos’ tracing data looks like inside Microsoft Application Insights:

And if you’re interested in Jaeger tracing, another open source distributed tracing system, we put together a video demonstrating how that works as well:

Akka.Cluster.Sharding and Dependency Injection Support

In addition to expanded set of tracing and monitoring integration, we’ve also made it possible for Phobos to work automatically with other parts of Akka.NET that are popular with end-users:

  • Akka.Cluster.Sharding Support - all sharded entity actors will now be automatically tracked using the same monitoring and tracing settings as any other /user actor. Additionally, Phobos will also trace messages originating from the ShardRegion or ShardRegionProxy all the way down to the recipient actor, which is intended to provide visibility into how the internals of Akka.Cluster.Sharding affect how messages are routed across your Akka.NET clusters.
  • Akka.DI Support - we fixed a bug that caused actors instantiated via Akka.DI.* packages to not be able to start up successfully. This has been fixed. All actors, regardless of how they are instantiated, will now be properly started and instrumented.

If you’d like to learn more about what’s in Phobos v0.6.0, see the full release notes here.

If you liked this post, you can share it with your followers or follow us on Twitter!
Written by Aaron Stannard on September 30, 2018

 

 

Observe and Monitor Your Akka.NET Applications with Phobos

Did you know that Phobos can automatically instrument your Akka.NET applications with OpenTelemetry?

Click here to learn more.