From 9fec8b341b3c449c312e4e947be3e2630bc0894a Mon Sep 17 00:00:00 2001 From: ThatBen Date: Tue, 20 May 2025 15:42:03 +0200 Subject: [PATCH] fixes elastic-search query --- Tools/TraceContract/Config.cs | 3 +-- .../ElasticSearchLogDownloader.cs | 22 +++++++++---------- Tools/TraceContract/Program.cs | 8 +++---- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/Tools/TraceContract/Config.cs b/Tools/TraceContract/Config.cs index f6b7f1ad..f52a0053 100644 --- a/Tools/TraceContract/Config.cs +++ b/Tools/TraceContract/Config.cs @@ -16,8 +16,7 @@ public TimeSpan LogStartBeforeStorageContractStarts { get; } = TimeSpan.FromMinutes(1.0); public string ElasticSearchUrl { get; } = $"https://es.testnet.codex.storage"; - public string StorageNodesKubernetesNamespace = "codex"; - public string[] StorageNodesKubernetesContainerNames = [ + public string[] StorageNodesKubernetesPodNames = [ "codex-1-1", "codex-2-1", "codex-3-1", diff --git a/Tools/TraceContract/ElasticSearchLogDownloader.cs b/Tools/TraceContract/ElasticSearchLogDownloader.cs index f1a76557..a55d85ca 100644 --- a/Tools/TraceContract/ElasticSearchLogDownloader.cs +++ b/Tools/TraceContract/ElasticSearchLogDownloader.cs @@ -19,11 +19,11 @@ namespace TraceContract this.config = config; } - public void Download(LogFile targetFile, string containerName, DateTime startUtc, DateTime endUtc) + public void Download(LogFile targetFile, string podName, DateTime startUtc, DateTime endUtc) { try { - DownloadLog(targetFile, containerName, startUtc, endUtc); + DownloadLog(targetFile, podName, startUtc, endUtc); } catch (Exception ex) { @@ -31,22 +31,22 @@ namespace TraceContract } } - private void DownloadLog(LogFile targetFile, string containerName, DateTime startUtc, DateTime endUtc) + private void DownloadLog(LogFile targetFile, string podName, DateTime startUtc, DateTime endUtc) { - log.Log($"Downloading log (from ElasticSearch) for container '{containerName}' within time range: " + + log.Log($"Downloading log (from ElasticSearch) for pod '{podName}' within time range: " + $"{startUtc.ToString("o")} - {endUtc.ToString("o")}"); var endpoint = CreateElasticSearchEndpoint(); - var queryTemplate = CreateQueryTemplate(containerName, startUtc, endUtc); + var queryTemplate = CreateQueryTemplate(podName, startUtc, endUtc); - targetFile.Write($"Downloading '{containerName}' to '{targetFile.Filename}'."); + targetFile.Write($"Downloading '{podName}' to '{targetFile.Filename}'."); var reconstructor = new LogReconstructor(targetFile, endpoint, queryTemplate); reconstructor.DownloadFullLog(); log.Log("Log download finished."); } - private string CreateQueryTemplate(string containerName, DateTime startUtc, DateTime endUtc) + private string CreateQueryTemplate(string podName, DateTime startUtc, DateTime endUtc) { var start = startUtc.ToString("o"); var end = endUtc.ToString("o"); @@ -55,12 +55,12 @@ namespace TraceContract // pod_namespace : codex - continuous - nolimits - tests - 1 //var source = "{ \"sort\": [ { \"@timestamp\": { \"order\": \"asc\" } } ], \"fields\": [ { \"field\": \"@timestamp\", \"format\": \"strict_date_optional_time\" }, { \"field\": \"pod_name\" }, { \"field\": \"message\" } ], \"size\": , \"_source\": false, \"query\": { \"bool\": { \"must\": [], \"filter\": [ { \"range\": { \"@timestamp\": { \"format\": \"strict_date_optional_time\", \"gte\": \"\", \"lte\": \"\" } } }, { \"match_phrase\": { \"pod_name\": \"\" } } ] } } }"; - var source = "{ \"sort\": [ { \"@timestamp\": { \"order\": \"asc\" } } ], \"fields\": [ { \"field\": \"@timestamp\", \"format\": \"strict_date_optional_time\" }, { \"field\": \"message\" } ], \"size\": , \"_source\": false, \"query\": { \"bool\": { \"must\": [], \"filter\": [ { \"range\": { \"@timestamp\": { \"format\": \"strict_date_optional_time\", \"gte\": \"\", \"lte\": \"\" } } }, { \"match_phrase\": { \"container_name\": \"\" } }, { \"match_phrase\": { \"pod_namespace\": \"\" } } ] } } }"; + var source = "{ \"sort\": [ { \"@timestamp\": { \"order\": \"asc\" } } ], \"fields\": [ { \"field\": \"@timestamp\", \"format\": \"strict_date_optional_time\" }, { \"field\": \"message\" } ], \"size\": , \"_source\": false, \"query\": { \"bool\": { \"must\": [], \"filter\": [ { \"range\": { \"@timestamp\": { \"format\": \"strict_date_optional_time\", \"gte\": \"\", \"lte\": \"\" } } }, { \"match_phrase\": { \"pod_name\": \"\" } } ] } } }"; return source .Replace("", start) .Replace("", end) - .Replace("", containerName) - .Replace("", config.StorageNodesKubernetesNamespace); + .Replace("", podName); + //.Replace("", config.StorageNodesKubernetesNamespace); } private IEndpoint CreateElasticSearchEndpoint() @@ -121,7 +121,7 @@ namespace TraceContract .Replace("", sizeOfPage.ToString()) .Replace("", searchAfter); - var response = endpoint.HttpPostString("_search", query); + var response = endpoint.HttpPostString("/_search", query); lastHits = response.hits.hits.Length; if (lastHits > 0) diff --git a/Tools/TraceContract/Program.cs b/Tools/TraceContract/Program.cs index 67189161..d239373c 100644 --- a/Tools/TraceContract/Program.cs +++ b/Tools/TraceContract/Program.cs @@ -65,7 +65,6 @@ namespace TraceContract private ICodexContracts ConnectCodexContracts(CoreInterface ci) { - var account = EthAccountGenerator.GenerateNew(); var blockCache = new BlockCache(); var geth = new CustomGethNode(log, blockCache, config.RpcEndpoint, config.GethPort, account.PrivateKey); @@ -83,14 +82,13 @@ namespace TraceContract { var start = requestTimeRange.From - config.LogStartBeforeStorageContractStarts; - foreach (var node in config.StorageNodesKubernetesContainerNames) + foreach (var node in config.StorageNodesKubernetesPodNames) { Log($"Downloading logs from '{node}'..."); var targetFile = output.CreateNodeLogTargetFile(node); - targetFile.Write("TODO!"); - //var downloader = new ElasticSearchLogDownloader(log, tools, config); - //downloader.Download(targetFile, node, start, requestTimeRange.To); + var downloader = new ElasticSearchLogDownloader(log, tools, config); + downloader.Download(targetFile, node, start, requestTimeRange.To); } }