Esempio n. 1
0
        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());
        }
Esempio n. 2
0
 public virtual CappedLogContainer GetOrCreate(CappedLogConf config)
 {
     return(Containers.GetOrAdd(new Factory(config)));
 }
Esempio n. 3
0
 public Factory(CappedLogConf config)
 {
     _config = config;
 }
Esempio n. 4
0
 public CappedLogContainer(CappedLogConf config)
 {
     _config  = config;
     _metrics = new InternalConcurrentDictionary <ulong, CappedLogMetric>();
 }
Esempio n. 5
0
 public Factory(string[] labels, CappedLogConf config)
 {
     Labels = labels;
     Config = config;
 }
Esempio n. 6
0
 public CappedLogContainerFactory(CappedLogConf conf, ICappedLogStorrage log)
 {
     Config = conf;
     Log    = log;
 }
Esempio n. 7
0
 public CappedLogMetric(CappedLogConf config, IEnumerable <string> labels)
 {
     _config   = config;
     _labels   = labels?.ToArray() ?? Array.Empty <string>();
     _messages = new CappedConcurrentQueue <CappedLogMessage>(_config.DefaultCapacity);
 }