FactorioSharp.Instrumentation
0.2.1
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package FactorioSharp.Instrumentation --version 0.2.1
NuGet\Install-Package FactorioSharp.Instrumentation -Version 0.2.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FactorioSharp.Instrumentation" Version="0.2.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FactorioSharp.Instrumentation --version 0.2.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FactorioSharp.Instrumentation, 0.2.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install FactorioSharp.Instrumentation as a Cake Addin #addin nuget:?package=FactorioSharp.Instrumentation&version=0.2.1 // Install FactorioSharp.Instrumentation as a Cake Tool #tool nuget:?package=FactorioSharp.Instrumentation&version=0.2.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
FactorioSharp.Instrumentation
Collect metrics and traces from a factorio server through an RCON connection.
Quick start
The RCON interface must be enabled when running factorio. It must also be secured using a password.
Add the following parameters to the factorio launch command: --rcon-port 27015 --rcon-password factory
For example
bin\x64\factorio.exe --start-server saves/save.zip --rcon-port 27015 --rcon-password password
You should see a log message in the factorio console that looks like:
Info RemoteCommandProcessor.cpp:133: Starting RCON interface at IP ADDR:({0.0.0.0:27015})
The instrumentation can then be configured using the provided extension methods
Using the OpenTelemetry SDK
using FactorioSharp.Instrumentation.Meters;
using OpenTelemetry;
using OpenTelemetry.Metrics;
using OpenTelemetry.Resources;
const string serviceName = "Factorio";
const string serviceVersion = "1.1.104";
using MeterProvider MeterProvider = Sdk.CreateMeterProviderBuilder()
.ConfigureResource(resource => resource.AddService(serviceName, serviceVersion))
.AddFactorioInstrumentation("127.0.0.1", "password")
.AddConsoleExporter()
.Build();
Using the Hosting extensions
using FactorioSharp.Instrumentation.Meters;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using OpenTelemetry.Metrics;
using OpenTelemetry.Resources;
const string serviceName = "Factorio";
const string serviceVersion = "1.1.104";
ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder.AddSimpleConsole());
HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);
builder.Services.AddOpenTelemetry()
.WithMetrics(
metrics => metrics.ConfigureResource(resource => resource.AddService(serviceName, serviceVersion))
.AddFactorioInstrumentation("127.0.0.1", "password", loggerFactory: loggerFactory)
.AddConsoleExporter()
);
IHost app = builder.Build();
app.Run();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.1
- FactorioSharp.Rcon (>= 0.3.2)
- OpenTelemetry (>= 1.7.0)
- System.Diagnostics.DiagnosticSource (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.3.6 | 111 | 4/14/2024 |
0.3.5 | 99 | 4/7/2024 |
0.3.4 | 99 | 4/7/2024 |
0.3.3 | 110 | 4/7/2024 |
0.3.2 | 117 | 4/7/2024 |
0.3.1 | 103 | 4/7/2024 |
0.3.0 | 109 | 4/7/2024 |
0.2.14 | 126 | 4/6/2024 |
0.2.13 | 108 | 4/6/2024 |
0.2.12 | 129 | 4/6/2024 |
0.2.11 | 104 | 4/6/2024 |
0.2.10 | 118 | 4/3/2024 |
0.2.9 | 117 | 4/2/2024 |
0.2.8 | 104 | 4/1/2024 |
0.2.6 | 101 | 4/1/2024 |
0.2.5 | 102 | 4/1/2024 |
0.2.4 | 118 | 4/1/2024 |
0.2.3 | 105 | 4/1/2024 |
0.2.2 | 103 | 3/31/2024 |
0.2.1 | 108 | 3/30/2024 |
0.2.0 | 99 | 3/30/2024 |
0.1.0 | 106 | 3/30/2024 |