Include 'world' in tags
This commit is contained in:
parent
06b2085638
commit
6c5aedc99f
@ -21,6 +21,7 @@ internal sealed class Character
|
|||||||
ClassJob = (byte)_delegate.GetType().GetField("ClassJob")!.GetValue(_delegate)!;
|
ClassJob = (byte)_delegate.GetType().GetField("ClassJob")!.GetValue(_delegate)!;
|
||||||
OwnerId = (ulong)_delegate.GetType().GetField("OwnerId")!.GetValue(_delegate)!;
|
OwnerId = (ulong)_delegate.GetType().GetField("OwnerId")!.GetValue(_delegate)!;
|
||||||
FreeCompanyId = (ulong)_delegate.GetType().GetField("FreeCompanyId")!.GetValue(_delegate)!;
|
FreeCompanyId = (ulong)_delegate.GetType().GetField("FreeCompanyId")!.GetValue(_delegate)!;
|
||||||
|
WorldId = (uint)_delegate.GetType().GetField("WorldId")!.GetValue(_delegate)!;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ulong CharacterId { get; }
|
public ulong CharacterId { get; }
|
||||||
@ -28,6 +29,7 @@ internal sealed class Character
|
|||||||
public byte ClassJob { get; }
|
public byte ClassJob { get; }
|
||||||
public ulong OwnerId { get; }
|
public ulong OwnerId { get; }
|
||||||
public ulong FreeCompanyId { get; }
|
public ulong FreeCompanyId { get; }
|
||||||
|
public uint WorldId { get; }
|
||||||
public string Name => (string)_name.GetValue(_delegate)!;
|
public string Name => (string)_name.GetValue(_delegate)!;
|
||||||
public uint Level => (uint)_level.GetValue(_delegate)!;
|
public uint Level => (uint)_level.GetValue(_delegate)!;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0-windows</TargetFramework>
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
<Version>0.14</Version>
|
<Version>0.15</Version>
|
||||||
<LangVersion>12</LangVersion>
|
<LangVersion>12</LangVersion>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||||
|
@ -26,6 +26,7 @@ internal sealed class InfluxStatisticsClient : IDisposable
|
|||||||
private readonly IReadOnlyDictionary<byte, string> _classJobNames;
|
private readonly IReadOnlyDictionary<byte, string> _classJobNames;
|
||||||
private readonly IReadOnlyDictionary<sbyte, ClassJobDetail> _expToJobs;
|
private readonly IReadOnlyDictionary<sbyte, ClassJobDetail> _expToJobs;
|
||||||
private readonly ReadOnlyDictionary<uint, PriceInfo> _prices;
|
private readonly ReadOnlyDictionary<uint, PriceInfo> _prices;
|
||||||
|
private readonly ReadOnlyDictionary<uint, string> _worldNames;
|
||||||
|
|
||||||
public InfluxStatisticsClient(IChatGui chatGui, Configuration configuration, IDataManager dataManager,
|
public InfluxStatisticsClient(IChatGui chatGui, Configuration configuration, IDataManager dataManager,
|
||||||
IClientState clientState, IPluginLog pluginLog)
|
IClientState clientState, IPluginLog pluginLog)
|
||||||
@ -53,6 +54,10 @@ internal sealed class InfluxStatisticsClient : IDisposable
|
|||||||
UiCategory = x.ItemUICategory.Row,
|
UiCategory = x.ItemUICategory.Row,
|
||||||
})
|
})
|
||||||
.AsReadOnly();
|
.AsReadOnly();
|
||||||
|
_worldNames = dataManager.GetExcelSheet<World>()!
|
||||||
|
.Where(x => x.RowId > 0 && x.IsPublic)
|
||||||
|
.ToDictionary(x => x.RowId, x => x.Name.ToString())
|
||||||
|
.AsReadOnly();
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Enabled => _configuration.Server.Enabled &&
|
public bool Enabled => _configuration.Server.Enabled &&
|
||||||
@ -118,6 +123,7 @@ internal sealed class InfluxStatisticsClient : IDisposable
|
|||||||
{
|
{
|
||||||
values.Add(PointData.Measurement("submersibles")
|
values.Add(PointData.Measurement("submersibles")
|
||||||
.Tag("id", fc.CharacterId.ToString(CultureInfo.InvariantCulture))
|
.Tag("id", fc.CharacterId.ToString(CultureInfo.InvariantCulture))
|
||||||
|
.Tag("world", _worldNames[fc.WorldId])
|
||||||
.Tag("fc_name", fc.Name)
|
.Tag("fc_name", fc.Name)
|
||||||
.Tag("sub_id", $"{fc.CharacterId}_{sub.Id}")
|
.Tag("sub_id", $"{fc.CharacterId}_{sub.Id}")
|
||||||
.Tag("sub_name", sub.Name)
|
.Tag("sub_name", sub.Name)
|
||||||
@ -164,6 +170,7 @@ internal sealed class InfluxStatisticsClient : IDisposable
|
|||||||
Func<string, PointData> pointData = s => PointData.Measurement(s)
|
Func<string, PointData> pointData = s => PointData.Measurement(s)
|
||||||
.Tag("id", character.CharacterId.ToString(CultureInfo.InvariantCulture))
|
.Tag("id", character.CharacterId.ToString(CultureInfo.InvariantCulture))
|
||||||
.Tag("player_name", character.Name)
|
.Tag("player_name", character.Name)
|
||||||
|
.Tag("world", _worldNames[character.WorldId])
|
||||||
.Tag("type", character.CharacterType.ToString())
|
.Tag("type", character.CharacterType.ToString())
|
||||||
.Tag("fc_id", includeFc ? character.FreeCompanyId.ToString(CultureInfo.InvariantCulture) : null)
|
.Tag("fc_id", includeFc ? character.FreeCompanyId.ToString(CultureInfo.InvariantCulture) : null)
|
||||||
.Timestamp(date, WritePrecision.S);
|
.Timestamp(date, WritePrecision.S);
|
||||||
@ -242,6 +249,7 @@ internal sealed class InfluxStatisticsClient : IDisposable
|
|||||||
.Tag("id", character.CharacterId.ToString(CultureInfo.InvariantCulture))
|
.Tag("id", character.CharacterId.ToString(CultureInfo.InvariantCulture))
|
||||||
.Tag("player_name", owner.Name)
|
.Tag("player_name", owner.Name)
|
||||||
.Tag("player_id", character.OwnerId.ToString(CultureInfo.InvariantCulture))
|
.Tag("player_id", character.OwnerId.ToString(CultureInfo.InvariantCulture))
|
||||||
|
.Tag("world", _worldNames[character.WorldId])
|
||||||
.Tag("type", character.CharacterType.ToString())
|
.Tag("type", character.CharacterType.ToString())
|
||||||
.Tag("retainer_name", character.Name)
|
.Tag("retainer_name", character.Name)
|
||||||
.Timestamp(date, WritePrecision.S);
|
.Timestamp(date, WritePrecision.S);
|
||||||
@ -306,6 +314,7 @@ internal sealed class InfluxStatisticsClient : IDisposable
|
|||||||
Func<string, PointData> pointData = s => PointData.Measurement(s)
|
Func<string, PointData> pointData = s => PointData.Measurement(s)
|
||||||
.Tag("id", character.CharacterId.ToString(CultureInfo.InvariantCulture))
|
.Tag("id", character.CharacterId.ToString(CultureInfo.InvariantCulture))
|
||||||
.Tag("fc_name", character.Name)
|
.Tag("fc_name", character.Name)
|
||||||
|
.Tag("world", _worldNames[character.WorldId])
|
||||||
.Tag("type", character.CharacterType.ToString())
|
.Tag("type", character.CharacterType.ToString())
|
||||||
.Timestamp(date, WritePrecision.S);
|
.Timestamp(date, WritePrecision.S);
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ internal sealed class SubmarineStats
|
|||||||
{
|
{
|
||||||
public required string Name { get; init; }
|
public required string Name { get; init; }
|
||||||
public required int Id { get; init; }
|
public required int Id { get; init; }
|
||||||
|
public required uint WorldId { get; init; }
|
||||||
public bool Enabled { get; set; } = true;
|
public bool Enabled { get; set; } = true;
|
||||||
public required ushort Level { get; init; }
|
public required ushort Level { get; init; }
|
||||||
public required ushort PredictedLevel { get; init; }
|
public required ushort PredictedLevel { get; init; }
|
||||||
|
@ -48,6 +48,7 @@ internal sealed class SubmarineTrackerIpc
|
|||||||
{
|
{
|
||||||
Id = x.Subs.IndexOf(y),
|
Id = x.Subs.IndexOf(y),
|
||||||
Name = y.Name,
|
Name = y.Name,
|
||||||
|
WorldId = x.Fc!.WorldId,
|
||||||
Level = y.Level,
|
Level = y.Level,
|
||||||
PredictedLevel = y.PredictedLevel,
|
PredictedLevel = y.PredictedLevel,
|
||||||
Hull = y.Build.HullIdentifier,
|
Hull = y.Build.HullIdentifier,
|
||||||
|
Loading…
Reference in New Issue
Block a user