public static GetSeriesKeysResponse CallGetSeriesKeys(GetSeriesKeysRequest request) { var response = new GetSeriesKeysResponse(); try { var tssFactory = TimeseriesSourceFactory.Factory; response.Responsemetadata.Add(request.Requestmetadata); foreach (var sourcename in request.Sourcenames) { var d = new Dictionary <string, string>(); foreach (var kv in request.Filters) { d[kv.Key] = kv.Value; } response.Keys.AddRange( tssFactory[sourcename].GetSeriesKeys(d).Select( t => new SourceSeriesKey() { Seriesname = t.Key, Sourcename = sourcename })); } } catch (Exception ex) { IOCContainer.Logger.Error(ex.Message); throw; } IOCContainer.Logger.Info($"GetSeriesKeyResponse: {response.Keys.Count} series found"); return(response); }
public static GetSeriesKeysRequest CreateRequest(IEnumerable <string> sourceNames, IEnumerable <string> filters) { var request = new GetSeriesKeysRequest(); request.Requestmetadata.Add(new Dictionary <string, string>() { { "version", "0.9" } }); request.Sourcenames.Add(sourceNames); foreach (var s in filters) { var ss = s.Split(':'); request.Filters.Add(ss[0], ss[1]); } return(request); }
public override Task <GetSeriesKeysResponse> GetSeriesKeys(GetSeriesKeysRequest request, ServerCallContext context) { IOCContainer.Logger.Info("GetSeriesKeys() called"); return(Task.FromResult(ServerHandler.CallGetSeriesKeys(request))); }