This commit is contained in:
parent
4b993ee5e7
commit
825cd27f3c
Binary file not shown.
BIN
.vs/slnx.sqlite
BIN
.vs/slnx.sqlite
Binary file not shown.
@ -26,7 +26,7 @@ namespace OutputServiceTSDB.Controllers
|
||||
var rng = new Random();
|
||||
return Enumerable.Range(1, 5).Select(index => new ApiObject
|
||||
{
|
||||
Date = DateTime.Now.AddDays(index)
|
||||
Probability = 0.5
|
||||
})
|
||||
.ToArray();
|
||||
}
|
||||
|
45
InfluxDB/InfluxReader.cs
Normal file
45
InfluxDB/InfluxReader.cs
Normal file
@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using InfluxDB.Client.Flux;
|
||||
|
||||
namespace OutputServiceTSDB.InfluxDB
|
||||
{
|
||||
public class InfluxReader
|
||||
{
|
||||
|
||||
private readonly char[] Token = "".ToCharArray();
|
||||
|
||||
public InfluxReader()
|
||||
{
|
||||
//
|
||||
// TODO: Add constructor logic here
|
||||
//
|
||||
}
|
||||
|
||||
public MeasurementObject Read()
|
||||
{
|
||||
var fluxClient = FluxClientFactory.Create("http://localhost:8086/");
|
||||
|
||||
var fluxQuery = "from(bucket: \"telegraf\")\n"
|
||||
+ " |> filter(fn: (r) => (r[\"_measurement\"] == \"cpu\" AND r[\"_field\"] == \"usage_system\"))"
|
||||
+ " |> range(start: -1d)"
|
||||
+ " |> sample(n: 5, pos: 1)";
|
||||
|
||||
fluxClient.QueryAsync(fluxQuery, (cancellable, record) =>
|
||||
{
|
||||
// process the flux query records
|
||||
Console.WriteLine(record.GetTime() + ": " + record.GetValue());
|
||||
},
|
||||
(error) =>
|
||||
{
|
||||
// error handling while processing result
|
||||
Console.WriteLine(error.ToString());
|
||||
|
||||
}, () =>
|
||||
{
|
||||
// on complete
|
||||
Console.WriteLine("Query completed");
|
||||
}).GetAwaiter().GetResult();
|
||||
return new MeasurementObject { DeviceID = "south", Probability = 0.5, Time = DateTime.UtcNow };
|
||||
}
|
||||
}
|
||||
}
|
26
InfluxDB/InfluxWriter.cs
Normal file
26
InfluxDB/InfluxWriter.cs
Normal file
@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using InfluxDB.Client;
|
||||
using InfluxDB.Client.Api.Domain;
|
||||
using InfluxDB.Client.Core;
|
||||
using InfluxDB.Client.Writes;
|
||||
|
||||
namespace OutputServiceTSDB.InfluxDB
|
||||
{
|
||||
public class InfluxWriter
|
||||
{
|
||||
private readonly char[] Token = "".ToCharArray();
|
||||
|
||||
public void Write(MeasurementObject measurementObject)
|
||||
{
|
||||
var influxDBClient = InfluxDBClientFactory.Create("http://localhost:9999", Token);
|
||||
|
||||
using (var writeApi = influxDBClient.GetWriteApi())
|
||||
{
|
||||
var measurement = new MeasurementObject { DeviceID = "south", Probability = 0.5, Time = DateTime.UtcNow };
|
||||
writeApi.WriteMeasurement("bucket_name", "org_id", WritePrecision.Ns, measurement);
|
||||
}
|
||||
|
||||
influxDBClient.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
34
InfluxDB/MeasurementObject.cs
Normal file
34
InfluxDB/MeasurementObject.cs
Normal file
@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using InfluxDB.Client;
|
||||
using InfluxDB.Client.Api.Domain;
|
||||
using InfluxDB.Client.Core;
|
||||
using InfluxDB.Client.Writes;
|
||||
|
||||
namespace OutputServiceTSDB.InfluxDB
|
||||
{
|
||||
[Measurement("temperature")]
|
||||
public class MeasurementObject
|
||||
{
|
||||
|
||||
[Column("deviceid", IsTag = true)]
|
||||
public string DeviceID { get; set; }
|
||||
|
||||
private double _probability;
|
||||
|
||||
[Column("probability")]
|
||||
public double Probability
|
||||
{
|
||||
get => _probability;
|
||||
set
|
||||
{
|
||||
if (value > 1.0 || value < 0.0)
|
||||
throw new ArgumentOutOfRangeException(
|
||||
$"{nameof(value)} must be between 0 and 1.");
|
||||
else
|
||||
_probability = value;
|
||||
}
|
||||
}
|
||||
|
||||
[Column(IsTimestamp = true)] public DateTime Time;
|
||||
}
|
||||
}
|
@ -4,12 +4,20 @@ namespace OutputServiceTSDB.Models
|
||||
{
|
||||
public class ApiObject
|
||||
{
|
||||
public DateTime Date { get; set; }
|
||||
|
||||
public string Tag { get; set; }
|
||||
|
||||
public bool Decision { get; set; }
|
||||
private double _probability;
|
||||
|
||||
public double Confidence { get; set; }
|
||||
public double Probability
|
||||
{ get => _probability;
|
||||
set
|
||||
{
|
||||
if (value > 1.0 || value < 0.0)
|
||||
throw new ArgumentOutOfRangeException(
|
||||
$"{nameof(value)} must be between 0 and 1.");
|
||||
else
|
||||
_probability = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,6 +9,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="InfluxDB.Client" Version="1.6.0" />
|
||||
<PackageReference Include="InfluxDB.Client.Flux" Version="1.6.0" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.8" />
|
||||
<PackageReference Include="RabbitMQ.Client" Version="5.1.2" />
|
||||
<PackageReference Include="Sentry" Version="2.1.1" />
|
||||
|
Binary file not shown.
Binary file not shown.
@ -42,6 +42,10 @@
|
||||
"target": "Package",
|
||||
"version": "[1.6.0, )"
|
||||
},
|
||||
"InfluxDB.Client.Flux": {
|
||||
"target": "Package",
|
||||
"version": "[*, )"
|
||||
},
|
||||
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets": {
|
||||
"target": "Package",
|
||||
"version": "[1.10.8, )"
|
||||
@ -56,7 +60,7 @@
|
||||
},
|
||||
"Sentry.AspNetCore": {
|
||||
"target": "Package",
|
||||
"version": "[*, )"
|
||||
"version": "[2.1.1, )"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
|
Binary file not shown.
@ -48,6 +48,18 @@
|
||||
"lib/netstandard2.0/InfluxDB.Client.Core.dll": {}
|
||||
}
|
||||
},
|
||||
"InfluxDB.Client.Flux/1.6.0": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"InfluxDB.Client.Core": "1.6.0"
|
||||
},
|
||||
"compile": {
|
||||
"lib/netstandard2.0/InfluxDB.Client.Flux.dll": {}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/InfluxDB.Client.Flux.dll": {}
|
||||
}
|
||||
},
|
||||
"JsonSubTypes/1.5.2": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
@ -1662,6 +1674,19 @@
|
||||
"lib/netstandard2.0/InfluxDB.Client.Core.dll"
|
||||
]
|
||||
},
|
||||
"InfluxDB.Client.Flux/1.6.0": {
|
||||
"sha512": "Fjs5SOlPfAyjSnWkPDxCluDO8t2nIlECrUMdWKZ7Pdtn9mr81kizLzBPIiRw4odQ4zWJJrfSa1v0eQ998isMQw==",
|
||||
"type": "package",
|
||||
"path": "influxdb.client.flux/1.6.0",
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"influxdata.jpg",
|
||||
"influxdb.client.flux.1.6.0.nupkg.sha512",
|
||||
"influxdb.client.flux.nuspec",
|
||||
"lib/netstandard2.0/InfluxDB.Client.Flux.dll"
|
||||
]
|
||||
},
|
||||
"JsonSubTypes/1.5.2": {
|
||||
"sha512": "Lu1fbpVYMDl45cz8Y0cH7MTjIN0dDhjg2srkbIJ7fjHvGepfzgKCf7WC5qp2vCxVZfNDeAcS1YAJZELhUFVPsw==",
|
||||
"type": "package",
|
||||
@ -5731,10 +5756,11 @@
|
||||
"projectFileDependencyGroups": {
|
||||
".NETCoreApp,Version=v3.1": [
|
||||
"InfluxDB.Client >= 1.6.0",
|
||||
"InfluxDB.Client.Flux >= *",
|
||||
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets >= 1.10.8",
|
||||
"RabbitMQ.Client >= 5.1.2",
|
||||
"Sentry >= 2.1.1",
|
||||
"Sentry.AspNetCore >= *"
|
||||
"Sentry.AspNetCore >= 2.1.1"
|
||||
]
|
||||
},
|
||||
"packageFolders": {
|
||||
@ -5778,6 +5804,10 @@
|
||||
"target": "Package",
|
||||
"version": "[1.6.0, )"
|
||||
},
|
||||
"InfluxDB.Client.Flux": {
|
||||
"target": "Package",
|
||||
"version": "[*, )"
|
||||
},
|
||||
"Microsoft.VisualStudio.Azure.Containers.Tools.Targets": {
|
||||
"target": "Package",
|
||||
"version": "[1.10.8, )"
|
||||
@ -5792,7 +5822,7 @@
|
||||
},
|
||||
"Sentry.AspNetCore": {
|
||||
"target": "Package",
|
||||
"version": "[*, )"
|
||||
"version": "[2.1.1, )"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
|
@ -1,12 +1,13 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "a6+SV/54J2AISt6d5A/IXuu4A94oTK197hAEYN1M6b9DqJet88JoTE6GeqofcnlF2D3CSw/jUx02OM/VvrU/sw==",
|
||||
"dgSpecHash": "8IABVsx3GAd39YhSptWgfKeaISUbm+vl7fpUGCskZAdvjzJhPj6u3gnGlscTFyKDBbXqEG6VP54P6NIFIudv7w==",
|
||||
"success": true,
|
||||
"projectFilePath": "C:\\Users\\Torma Kristóf\\source\\repos\\output-service-tsdb\\OutputServiceTSDB.csproj",
|
||||
"expectedPackageFiles": [
|
||||
"C:\\Users\\Torma Kristóf\\.nuget\\packages\\csvhelper\\8.1.1\\csvhelper.8.1.1.nupkg.sha512",
|
||||
"C:\\Users\\Torma Kristóf\\.nuget\\packages\\influxdb.client\\1.6.0\\influxdb.client.1.6.0.nupkg.sha512",
|
||||
"C:\\Users\\Torma Kristóf\\.nuget\\packages\\influxdb.client.core\\1.6.0\\influxdb.client.core.1.6.0.nupkg.sha512",
|
||||
"C:\\Users\\Torma Kristóf\\.nuget\\packages\\influxdb.client.flux\\1.6.0\\influxdb.client.flux.1.6.0.nupkg.sha512",
|
||||
"C:\\Users\\Torma Kristóf\\.nuget\\packages\\jsonsubtypes\\1.5.2\\jsonsubtypes.1.5.2.nupkg.sha512",
|
||||
"C:\\Users\\Torma Kristóf\\.nuget\\packages\\microsoft.csharp\\4.4.0\\microsoft.csharp.4.4.0.nupkg.sha512",
|
||||
"C:\\Users\\Torma Kristóf\\.nuget\\packages\\microsoft.extensions.configuration\\3.0.0\\microsoft.extensions.configuration.3.0.0.nupkg.sha512",
|
||||
|
Loading…
Reference in New Issue
Block a user