private static string GetLabelsString(CappedLogConf config, IReadOnlyList <string> values) { var builder = new StringBuilder("{"); builder.Append(string.Join(",", config.ConstLabels.Select(l => $"{l.Key}=\"{l.Value}\"").Concat(config.LabelNames.Zip(values, (n, v) => $"{n}=\"{v}\"")))); builder.Append("}"); return(builder.ToString()); }
public virtual CappedLogContainer GetOrCreate(CappedLogConf config) { return(Containers.GetOrAdd(new Factory(config))); }
public Factory(CappedLogConf config) { _config = config; }
public CappedLogContainer(CappedLogConf config) { _config = config; _metrics = new InternalConcurrentDictionary <ulong, CappedLogMetric>(); }
public Factory(string[] labels, CappedLogConf config) { Labels = labels; Config = config; }
public CappedLogContainerFactory(CappedLogConf conf, ICappedLogStorrage log) { Config = conf; Log = log; }
public CappedLogMetric(CappedLogConf config, IEnumerable <string> labels) { _config = config; _labels = labels?.ToArray() ?? Array.Empty <string>(); _messages = new CappedConcurrentQueue <CappedLogMessage>(_config.DefaultCapacity); }