What's New in Phobos 1.0.0?
Phobos 1.0.0 is a major shift from Phobos v0.9.
Important
See "What's New in Phobos 2.0" as it's the most recent major release of Phobos.
Programmatic Configuration
Most configuration is now done programmatically, through the use of the PhobosSetup
class:
OpenTracing.ITracer tracer = new MockTracer();
App.Metrics.IMetricsRoot metrics = new MetricsBuilder().Configuration.Configure(o =>
{
o.GlobalTags.Add("host", Dns.GetHostName());
o.DefaultContextLabel = "akka.net";
o.Enabled = true;
o.ReportingEnabled = true;
}).Report.ToConsole().Build();
var phobosConfigBuilder = new PhobosConfigBuilder()
.WithMetrics(m => m.SetMetricsRoot(metrics))
.WithTracing(t => t.SetTracer(tracer));
// create an ActorSystemSetup class used to configure the ActorSystem
var phobosSetup = PhobosSetup.Create(phobosConfigBuilder)
.And(BootstrapSetup.Create()
.WithConfig(hocon)
.WithActorRefProvider(PhobosProviderSelection.Cluster));
// start ActorSystem
var actorSystem = ActorSystem.Create("myCluster", phobosSetup);
This makes it easy to share tracing and metric contexts between ASP.NET, Akka.NET, SignalR, RabbitMQ, Kafka, and whatever else your system uses. The data you receive from Phobos should be much more useful going forward.
Replacing Phobos.Monitoring with App.Metrics
As of Phobos 1.0.0, we now use the popular .NET monitoring library App.Metrics to handle all of the underlying monitoring and reporting for Phobos.
This means that the number of monitoring services Phobos supports just got a lot larger. We now support:
- Application Insights
- Elastic APM
- Prometheus
- Influx Data
- Graphite
- DataDog
- GrafanaCloud
And more to come.
Significantly Improved Signal / Noise Ratio
Phobos now produces signiciantly less noise that it used to - we use App.Metrics' tagging system to properly group metrics together into meaningful categories and all operation names for tracing are now based on the message type, rather than the paths of the actors who received them.
Simplified Pricing Model
Phobos no longer has any per-node licensing - and we've significantly reduced the price. Phobos now costs $4,000 per year at a flat rate for your entire organization. We will also be supporting OEM agreements for customers who need to sub-license Phobos out to their customers as well.