holmesgpt 0.14.1a0__py3-none-any.whl → 0.14.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of holmesgpt might be problematic. Click here for more details.
- holmes/__init__.py +1 -1
- holmes/clients/robusta_client.py +5 -2
- holmes/common/env_vars.py +2 -2
- holmes/config.py +1 -1
- holmes/core/llm.py +44 -6
- holmes/core/tool_calling_llm.py +9 -1
- holmes/core/toolset_manager.py +2 -2
- holmes/plugins/prompts/_fetch_logs.jinja2 +10 -1
- holmes/plugins/toolsets/datadog/datadog_api.py +490 -24
- holmes/plugins/toolsets/datadog/datadog_logs_instructions.jinja2 +21 -10
- holmes/plugins/toolsets/datadog/toolset_datadog_general.py +329 -190
- holmes/plugins/toolsets/datadog/toolset_datadog_logs.py +181 -9
- holmes/plugins/toolsets/datadog/toolset_datadog_metrics.py +75 -10
- holmes/plugins/toolsets/datadog/toolset_datadog_rds.py +2 -2
- holmes/plugins/toolsets/datadog/toolset_datadog_traces.py +3 -3
- holmes/plugins/toolsets/grafana/toolset_grafana_loki.py +2 -1
- holmes/plugins/toolsets/grafana/toolset_grafana_tempo.py +3 -3
- holmes/plugins/toolsets/logging_utils/logging_api.py +1 -1
- holmes/plugins/toolsets/prometheus/prometheus.py +704 -349
- holmes/plugins/toolsets/prometheus/prometheus_instructions.jinja2 +27 -11
- {holmesgpt-0.14.1a0.dist-info → holmesgpt-0.14.2.dist-info}/METADATA +2 -2
- {holmesgpt-0.14.1a0.dist-info → holmesgpt-0.14.2.dist-info}/RECORD +25 -25
- {holmesgpt-0.14.1a0.dist-info → holmesgpt-0.14.2.dist-info}/LICENSE.txt +0 -0
- {holmesgpt-0.14.1a0.dist-info → holmesgpt-0.14.2.dist-info}/WHEEL +0 -0
- {holmesgpt-0.14.1a0.dist-info → holmesgpt-0.14.2.dist-info}/entry_points.txt +0 -0
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
|
|
2
2
|
# Prometheus/PromQL queries
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
## Efficient Metric Discovery (when needed)
|
|
5
|
+
* When you need to discover metrics, use `get_metric_names` with filters - it's the fastest method
|
|
6
|
+
* Combine multiple patterns with regex OR (|) to reduce API calls:
|
|
7
|
+
- `{__name__=~"node_cpu.*|node_memory.*|node_disk.*"}` - get all node resource metrics in one call
|
|
8
|
+
- `{__name__=~"container.*|pod.*|kube.*"}` - get all Kubernetes-related metrics
|
|
9
|
+
- `{namespace=~"example1|example2|example3"}` - metrics from multiple namespaces
|
|
10
|
+
* Use `get_metric_metadata` after discovering names to get types/descriptions if needed
|
|
11
|
+
* Use `get_label_values` to discover pods, namespaces, jobs: e.g., get_label_values(label="pod")
|
|
12
|
+
* Only use `get_series` when you need full label sets (slower than other methods)
|
|
13
|
+
|
|
14
|
+
## Retrying queries that return too much data
|
|
15
|
+
* When a Prometheus query returns too much data (e.g., truncation error), you MUST retry with a more specific query or less data points or topk/bottomk
|
|
16
|
+
* NEVER EVER EVER answer a question based on Prometheus data that was truncated as you might be missing important information and give the totally wrong answer
|
|
17
|
+
* Prefer telling the user you can't answer the question because of too much data rather than answering based on incomplete data
|
|
18
|
+
* You are also able to show graphs to the user (using the promql embed functionality mentioned below) so you can show users graphs and THEY can interpret the data themselves, even if you can't answer.
|
|
19
|
+
* Do NOT hestitate to try alternative queries and try to reduce the amount of data returned until you get a successful query
|
|
20
|
+
* Be extremely, extremely cautious when answering based on get_label_values because the existence of a label value says NOTHING about the metric value itself (is it high, low, or perhaps the label exists in Prometheus but its an older series not present right now)
|
|
21
|
+
* DO NOT give answers about metrics based on what 'is typically the case' or 'common knowledge' - if you can't see the actual metric value, you MUST NEVER EVER answer about it - just tell the user your limitations due to the size of the data
|
|
22
|
+
|
|
23
|
+
## Alert Investigation & Query Execution
|
|
24
|
+
* When investigating a Prometheus alert, ALWAYS call list_prometheus_rules to get the alert definition
|
|
4
25
|
* Use Prometheus to query metrics from the alert promql
|
|
5
26
|
* Use prometheus to execute promql queries with the tools `execute_prometheus_instant_query` and `execute_prometheus_range_query`
|
|
6
27
|
* To create queries, use 'start_timestamp' and 'end_timestamp' as graphs start and end times
|
|
@@ -16,7 +37,7 @@
|
|
|
16
37
|
** Avoid global averages like `sum(rate(<metric>_sum)) / sum(rate(<metric>_count))` because it hides data and is not generally informative
|
|
17
38
|
* Timestamps MUST be in string date format. For example: '2025-03-15 10:10:08.610862+00:00'
|
|
18
39
|
* Post processing will parse your response, re-run the query from the tool output and create a chart visible to the user
|
|
19
|
-
*
|
|
40
|
+
* When unsure about available metrics, use `get_metric_names` with appropriate filters (combine multiple patterns with | for efficiency). Then use `get_metric_metadata` if you need descriptions/types
|
|
20
41
|
* Check that any node, service, pod, container, app, namespace, etc. mentioned in the query exist in the kubernetes cluster before making a query. Use any appropriate kubectl tool(s) for this
|
|
21
42
|
* The toolcall will return no data to you. That is expected. You MUST however ensure that the query is successful.
|
|
22
43
|
|
|
@@ -25,24 +46,19 @@
|
|
|
25
46
|
* ALWAYS use `topk()` or `bottomk()` to limit the number of series returned
|
|
26
47
|
* Standard pattern for high-cardinality queries:
|
|
27
48
|
- Use `topk(5, <your_query>)` to get the top 5 series
|
|
28
|
-
- Example: `topk(5, rate(container_cpu_usage_seconds_total{namespace="
|
|
49
|
+
- Example: `topk(5, rate(container_cpu_usage_seconds_total{namespace="example"}[5m]))`
|
|
29
50
|
- This prevents context overflow and focuses on the most relevant data
|
|
30
51
|
* To also capture the aggregate of remaining series as "other":
|
|
31
52
|
```
|
|
32
|
-
topk(5, rate(container_cpu_usage_seconds_total{namespace="
|
|
33
|
-
or
|
|
34
|
-
label_replace(
|
|
35
|
-
(sum(rate(container_cpu_usage_seconds_total{namespace="default"}[5m])) - sum(topk(5, rate(container_cpu_usage_seconds_total{namespace="default"}[5m])))),
|
|
36
|
-
"pod", "other", "", ""
|
|
37
|
-
)
|
|
53
|
+
topk(5, rate(container_cpu_usage_seconds_total{namespace="example"}[5m])) or label_replace((sum(rate(container_cpu_usage_seconds_total{namespace="example"}[5m])) - sum(topk(5, rate(container_cpu_usage_seconds_total{namespace="example"}[5m])))), "pod", "other", "", "")
|
|
38
54
|
```
|
|
39
55
|
* Common high-cardinality scenarios requiring topk():
|
|
40
56
|
- Pod-level metrics in namespaces with many pods
|
|
41
57
|
- Container-level CPU/memory metrics
|
|
42
58
|
- HTTP metrics with many endpoints or status codes
|
|
43
59
|
- Any query returning more than 10 time series
|
|
44
|
-
* For initial exploration, use instant queries with `count()` to check cardinality:
|
|
45
|
-
- Example: `count(count by (pod) (container_cpu_usage_seconds_total{namespace="
|
|
60
|
+
* For initial exploration, you may use instant queries with `count()` to check cardinality:
|
|
61
|
+
- Example: `count(count by (pod) (container_cpu_usage_seconds_total{namespace="example"}))`
|
|
46
62
|
- If count > 10, use topk() in your range query
|
|
47
63
|
* When doing queries, always extend the time range, to 15 min before and after the alert start time
|
|
48
64
|
* ALWAYS embed the execution results into your answer
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: holmesgpt
|
|
3
|
-
Version: 0.14.
|
|
3
|
+
Version: 0.14.2
|
|
4
4
|
Summary:
|
|
5
5
|
Author: Natan Yellin
|
|
6
6
|
Author-email: natan@robusta.dev
|
|
@@ -26,7 +26,7 @@ Requires-Dist: fastapi (>=0.116,<0.117)
|
|
|
26
26
|
Requires-Dist: humanize (>=4.9.0,<5.0.0)
|
|
27
27
|
Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
|
|
28
28
|
Requires-Dist: kubernetes (>=32.0.1,<33.0.0)
|
|
29
|
-
Requires-Dist: litellm (
|
|
29
|
+
Requires-Dist: litellm (==1.77.1)
|
|
30
30
|
Requires-Dist: markdown (>=3.6,<4.0)
|
|
31
31
|
Requires-Dist: markdownify (>=1.1.0,<2.0.0)
|
|
32
32
|
Requires-Dist: mcp (==v1.12.2)
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
holmes/.git_archival.json,sha256=PbwdO7rNhEJ4ALiO12DPPb81xNAIsVxCA0m8OrVoqsk,182
|
|
2
|
-
holmes/__init__.py,sha256=
|
|
3
|
-
holmes/clients/robusta_client.py,sha256=
|
|
4
|
-
holmes/common/env_vars.py,sha256=
|
|
2
|
+
holmes/__init__.py,sha256=aObdUvtSLEMRLcbzR1BLUnoN1nK0-PV8tAXzjOfEEh8,257
|
|
3
|
+
holmes/clients/robusta_client.py,sha256=rWst1PANJaIsprp3jZ7RV5UpttM_YLBGQ8B5noZqvgg,1532
|
|
4
|
+
holmes/common/env_vars.py,sha256=3CKyDmPtEAfYFxWC5wEDq5ppn94BhzDbJA3k9Vtd_WU,3312
|
|
5
5
|
holmes/common/openshift.py,sha256=akbQ0GpnmuzXOqTcotpTDQSDKIROypS9mgPOprUgkCw,407
|
|
6
|
-
holmes/config.py,sha256=
|
|
6
|
+
holmes/config.py,sha256=yu0kQox7tfeKc4kJLESH-eGa6w1-nNC9kxAOtHf_qhQ,21781
|
|
7
7
|
holmes/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
holmes/core/config.py,sha256=9QGIXeYff9FPWa91as2OkRO2SupHzfNQZWzfNC4Vl-8,113
|
|
9
9
|
holmes/core/conversations.py,sha256=krkcIe5Sl4JIGp5CfQrR74JYLnxis8ifKu09mOA5fAI,21428
|
|
10
10
|
holmes/core/investigation.py,sha256=HrRi1-myPF7ndOwwZ4Sv8iUbvPkrd5M02RPhZzln7NM,5900
|
|
11
11
|
holmes/core/investigation_structured_output.py,sha256=sNxyqmsElQ-B22OlzTOrJtfrlipjyidcTU07idOBO7w,10570
|
|
12
12
|
holmes/core/issue.py,sha256=dbctGv8KHAXC1SeOMkEP-BudJ50u7kA8jLN5FN_d808,2426
|
|
13
|
-
holmes/core/llm.py,sha256=
|
|
13
|
+
holmes/core/llm.py,sha256=YHrbOlXrb6b18KTYCHrjUa4e83LPyZ2LY-cwSJ5z2IE,22495
|
|
14
14
|
holmes/core/models.py,sha256=n3HTxSvm1-JstkRkL8KMZ1mz5zecMqmMzQe2ECmnQ1E,6082
|
|
15
15
|
holmes/core/openai_formatting.py,sha256=wL0Fq6lDePIKR5viitQz9ZWCQZZkHZHmEUqPIsOoFns,4077
|
|
16
16
|
holmes/core/performance_timing.py,sha256=MTbTiiX2jjPmW7PuNA2eYON40eWsHPryR1ap_KlwZ_E,2217
|
|
@@ -20,14 +20,14 @@ holmes/core/runbooks.py,sha256=Oj5ICmiGgaq57t4erPzQDvHQ0rMGj1nhiiYhl8peH3Q,939
|
|
|
20
20
|
holmes/core/safeguards.py,sha256=XrKgmMoJxSROfoSOW6t6QEG2MFppzC20Nyn1HA5G4Go,4935
|
|
21
21
|
holmes/core/supabase_dal.py,sha256=cZgvdbmphihzOZrA9bKtVnxyiGqK5XqMeCQC3_uf2fs,21732
|
|
22
22
|
holmes/core/todo_tasks_formatter.py,sha256=USyJZcoX6zoxID1UV-abAKdaWFYLO6QJd-UKryJAurI,1487
|
|
23
|
-
holmes/core/tool_calling_llm.py,sha256=
|
|
23
|
+
holmes/core/tool_calling_llm.py,sha256=WD5a_Rmhn6OOzyHUN4wIXctYS8ZdB7oKPYfWuDDzcb4,42769
|
|
24
24
|
holmes/core/tools.py,sha256=YotCnCnmrNYh_SMqD1GFeDOmU_s8kucNJEVRLhfQOqw,31539
|
|
25
25
|
holmes/core/tools_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
26
|
holmes/core/tools_utils/data_types.py,sha256=vvY0Vx45xTmLhu-RYI4xVJkhPtdg-W8xhFpsnesOMU0,2534
|
|
27
27
|
holmes/core/tools_utils/tool_context_window_limiter.py,sha256=OZBz6lNnEIlCRGVGn_De6fw3tPuxE4UHlE52Z8Ni568,1736
|
|
28
28
|
holmes/core/tools_utils/tool_executor.py,sha256=O0oMWSpiOClEMVJhPHi2AaZK9GI_FHq0OeNcAEoPV30,2395
|
|
29
29
|
holmes/core/tools_utils/toolset_utils.py,sha256=SvWzen8Fg_TB_6Idw1hK0nCPrJL40ueWVMfsv8Kh2RY,2363
|
|
30
|
-
holmes/core/toolset_manager.py,sha256=
|
|
30
|
+
holmes/core/toolset_manager.py,sha256=KZQuECzT5CnW7K9yPx-Mp1rmThws0x4c0MMbzdyxU14,25688
|
|
31
31
|
holmes/core/tracing.py,sha256=o1vTLCbnFvBOVnQKqRaj4HDNYGYAd4ub2IgkV1E3qY4,9130
|
|
32
32
|
holmes/core/transformers/__init__.py,sha256=kCwmx-IQ6BpGpMpnm563ecl5Ik1nx4lhKb2y3KAKF7I,600
|
|
33
33
|
holmes/core/transformers/base.py,sha256=FHUocHIS_oUBLWMiibdAuKY0Lpz5xY2ICji6DbmP2Do,1500
|
|
@@ -45,7 +45,7 @@ holmes/plugins/prompts/__init__.py,sha256=sOUHbHFQ6tYX7XWLi-Ak87cOQB1E889X5X8kWJ
|
|
|
45
45
|
holmes/plugins/prompts/_ai_safety.jinja2,sha256=IoVdOXHnkGwLaiuUzMczEdoahyrKhkdYvyDmz9Oewxw,2262
|
|
46
46
|
holmes/plugins/prompts/_current_date_time.jinja2,sha256=KynAvkQFqf_SXjqVY77nB8z4RgN7gti4SBSq1H7moHs,354
|
|
47
47
|
holmes/plugins/prompts/_default_log_prompt.jinja2,sha256=Tqw8CD2ZMStXIfMdYaoZT_d-FvQ_PMg6-knqag-YEgc,1478
|
|
48
|
-
holmes/plugins/prompts/_fetch_logs.jinja2,sha256
|
|
48
|
+
holmes/plugins/prompts/_fetch_logs.jinja2,sha256=vThEjf6auWO6ITD6oMEGA-O7jpGjz1k2iiBfS7GRwJM,4986
|
|
49
49
|
holmes/plugins/prompts/_general_instructions.jinja2,sha256=0RB5TFGqhbQ-xNt2_oHXJjvMIBLThuRDusBbbEruy2w,5777
|
|
50
50
|
holmes/plugins/prompts/_global_instructions.jinja2,sha256=d_c-BtDhU_Rmx637TPAyzlIIim8ZAxy7JK3V4GV8IWI,1359
|
|
51
51
|
holmes/plugins/prompts/_permission_errors.jinja2,sha256=gIMQx-zaTnuEv7SkQVC_GvxsR5R85fLuDZnJIKWcm5A,480
|
|
@@ -149,18 +149,18 @@ holmes/plugins/toolsets/consts.py,sha256=vxzGJBF1XNAE9CDteUFIYNRmOagmJ-ktFEfVEU8
|
|
|
149
149
|
holmes/plugins/toolsets/coralogix/api.py,sha256=25ZnTfAvh5ZHzDsjap8As87opjGbMSBMQSSqelw7Tm0,5178
|
|
150
150
|
holmes/plugins/toolsets/coralogix/toolset_coralogix_logs.py,sha256=AbkYhWatgfJjdScNkaziRqg8KckcjfSHHQugO4bmE54,3929
|
|
151
151
|
holmes/plugins/toolsets/coralogix/utils.py,sha256=z9AAgyDTaxVgeSwaYDXGthBBCn_865gq7j1XUbZ5M-o,6938
|
|
152
|
-
holmes/plugins/toolsets/datadog/datadog_api.py,sha256=
|
|
152
|
+
holmes/plugins/toolsets/datadog/datadog_api.py,sha256=w8fILwJhMw5jua8O7d8WF5kbQSgRjXonPpZIf-EikJU,22675
|
|
153
153
|
holmes/plugins/toolsets/datadog/datadog_general_instructions.jinja2,sha256=Z0X7z_AlKtmw3kfDnz-aPJKOnSIX4bPPRz8gQZRCctk,8300
|
|
154
|
-
holmes/plugins/toolsets/datadog/datadog_logs_instructions.jinja2,sha256=
|
|
154
|
+
holmes/plugins/toolsets/datadog/datadog_logs_instructions.jinja2,sha256=NuzQFdUE9fc7MJfchgf6j7jHMANwUFkgRdg1qff5fBE,2943
|
|
155
155
|
holmes/plugins/toolsets/datadog/datadog_metrics_instructions.jinja2,sha256=_59DzoVsoQVh73SRYhMBsK7jgKYVpWnadfI1AD_eLVY,4231
|
|
156
156
|
holmes/plugins/toolsets/datadog/datadog_rds_instructions.jinja2,sha256=lbI6lkcMjG1CVKeL0XDkq5zl-fRDVxZ_t_CjS-Uh_OM,3119
|
|
157
157
|
holmes/plugins/toolsets/datadog/datadog_traces_formatter.py,sha256=uTtWTrsbvO9cZcUDskJE9p5sEscieXwhEpxvRKkaiEw,10275
|
|
158
158
|
holmes/plugins/toolsets/datadog/instructions_datadog_traces.jinja2,sha256=9j3-46UNE35DE2xBDTCRt1EedgNdgRXuC1u-X3yB-9I,1487
|
|
159
|
-
holmes/plugins/toolsets/datadog/toolset_datadog_general.py,sha256=
|
|
160
|
-
holmes/plugins/toolsets/datadog/toolset_datadog_logs.py,sha256=
|
|
161
|
-
holmes/plugins/toolsets/datadog/toolset_datadog_metrics.py,sha256=
|
|
162
|
-
holmes/plugins/toolsets/datadog/toolset_datadog_rds.py,sha256
|
|
163
|
-
holmes/plugins/toolsets/datadog/toolset_datadog_traces.py,sha256=
|
|
159
|
+
holmes/plugins/toolsets/datadog/toolset_datadog_general.py,sha256=MK398E5HduTdhUwojmIcXKflg-1btPueEJL0oiGbwfQ,34718
|
|
160
|
+
holmes/plugins/toolsets/datadog/toolset_datadog_logs.py,sha256=8shUARbV8CmUW2nYQmBVDzr_31ACmyTyDuOoMgmZ0qg,17491
|
|
161
|
+
holmes/plugins/toolsets/datadog/toolset_datadog_metrics.py,sha256=0KJJZDLBQW9OSS-jGVyGCBQKN0J6NbPHuTjF7U3N-NE,28203
|
|
162
|
+
holmes/plugins/toolsets/datadog/toolset_datadog_rds.py,sha256=-Aga-mLnSGvlRyDcUnzKN7PIIRa6KCJ9HgL0GZ0yMKQ,29139
|
|
163
|
+
holmes/plugins/toolsets/datadog/toolset_datadog_traces.py,sha256=F7pS2Tpk6k8uvOPFcbft13LQnlfviJ21uvWQcajdFLM,26289
|
|
164
164
|
holmes/plugins/toolsets/docker.yaml,sha256=O0Q0z0kZS8_QBEhwrUfbXdGUn1nP1K9k0FlQd6EZVJ4,1559
|
|
165
165
|
holmes/plugins/toolsets/git.py,sha256=-f_e4jBUeQ0L8z6G2mBu3u8CUMsTMKIZybz0AKg6Wws,32239
|
|
166
166
|
holmes/plugins/toolsets/grafana/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -170,9 +170,9 @@ holmes/plugins/toolsets/grafana/grafana_api.py,sha256=nq7KWoUAfFxp1-3VqKadPNKbTi
|
|
|
170
170
|
holmes/plugins/toolsets/grafana/grafana_tempo_api.py,sha256=bcCPEwOwm1Og9LYR6PlAtjGgQopvySNjf5nTwILuFt4,15697
|
|
171
171
|
holmes/plugins/toolsets/grafana/loki_api.py,sha256=f7oTzfhJ1LojsPoAfsKt32ADWffLEywBJQWG9eyfb7I,2529
|
|
172
172
|
holmes/plugins/toolsets/grafana/toolset_grafana.py,sha256=_A3DUOyd2624I75BknsZhHpK1mzcf7JfACL7_ET6sPM,4922
|
|
173
|
-
holmes/plugins/toolsets/grafana/toolset_grafana_loki.py,sha256=
|
|
173
|
+
holmes/plugins/toolsets/grafana/toolset_grafana_loki.py,sha256=MK0mK5h8MZuULwAoQlng3UZS1xtxHzePwhEoJiroJSw,3912
|
|
174
174
|
holmes/plugins/toolsets/grafana/toolset_grafana_tempo.jinja2,sha256=0HBYUXkGYWZbHwIvfQEF5oL9LFMYzjgcmL1U6RjgPSE,10417
|
|
175
|
-
holmes/plugins/toolsets/grafana/toolset_grafana_tempo.py,sha256=
|
|
175
|
+
holmes/plugins/toolsets/grafana/toolset_grafana_tempo.py,sha256=4q9FCHZ2kuI4Kng_JOWipkHIUyfkH2zT5zSywnFie18,38419
|
|
176
176
|
holmes/plugins/toolsets/grafana/trace_parser.py,sha256=8PjqPGDGo9uB2Z8WWWknMKdhcqlqZEVncQCCkl2F06A,7024
|
|
177
177
|
holmes/plugins/toolsets/helm.yaml,sha256=-IPDChKMHcxGbzA0z9GKczRshL-mD24cHpBizfNM1jM,1604
|
|
178
178
|
holmes/plugins/toolsets/internet/internet.py,sha256=cQi8R2rcttIZ49egSzi2y2UVt4tncqE8medxiXp8II8,7779
|
|
@@ -186,7 +186,7 @@ holmes/plugins/toolsets/kubernetes.yaml,sha256=hIyBrdhhMrvadu2EOja_uT1Hn7lzuXLdH
|
|
|
186
186
|
holmes/plugins/toolsets/kubernetes_logs.py,sha256=b84d-yCrGq9ua4B_zeitUy9AqDcUdipRAY71IFe5C7s,32814
|
|
187
187
|
holmes/plugins/toolsets/kubernetes_logs.yaml,sha256=3AhUKihYMSL57Tm_y5HgEbtyoer6Kpm7oAcRz1GxgDw,4532
|
|
188
188
|
holmes/plugins/toolsets/logging_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
189
|
-
holmes/plugins/toolsets/logging_utils/logging_api.py,sha256=
|
|
189
|
+
holmes/plugins/toolsets/logging_utils/logging_api.py,sha256=p5iisG4kWWh275nKT4wJuJbXWQrbQSydeMDv8f9DPw4,11608
|
|
190
190
|
holmes/plugins/toolsets/logging_utils/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
191
191
|
holmes/plugins/toolsets/mcp/toolset_mcp.py,sha256=4E2-A8EAno5q1ZUNwyMPQdPY-ub5iIAyuEnCn7C0pg0,4914
|
|
192
192
|
holmes/plugins/toolsets/newrelic.py,sha256=_bjzIAKbPMQcvv-Z0AV1r-T2fMHDWxnWz9zH_5-40Dg,7956
|
|
@@ -196,8 +196,8 @@ holmes/plugins/toolsets/opensearch/opensearch_logs.py,sha256=_j-JAhLWtxhBPafCvey
|
|
|
196
196
|
holmes/plugins/toolsets/opensearch/opensearch_traces.py,sha256=FjDbkU-oI-spMdra0raSmiHZb6Cfbo_AsS_OKEt9coI,8876
|
|
197
197
|
holmes/plugins/toolsets/opensearch/opensearch_traces_instructions.jinja2,sha256=Xn8AW4XCMYV1VkBbF8nNB9fUpKQ1Vbm88iFczj-LQXo,1035
|
|
198
198
|
holmes/plugins/toolsets/opensearch/opensearch_utils.py,sha256=mh9Wp22tOdJYmA9IaFS7tD3aEENljyeuPOsF-lEe5C0,5097
|
|
199
|
-
holmes/plugins/toolsets/prometheus/prometheus.py,sha256=
|
|
200
|
-
holmes/plugins/toolsets/prometheus/prometheus_instructions.jinja2,sha256=
|
|
199
|
+
holmes/plugins/toolsets/prometheus/prometheus.py,sha256=H5sdiwk2nAWrnD23wR-8nkTuRLBOhrCZXc51EOgDqIQ,65832
|
|
200
|
+
holmes/plugins/toolsets/prometheus/prometheus_instructions.jinja2,sha256=taf5C-N9rdp1A7S__hETefcm2OaYHJLjs1ZbuqIsGtE,6383
|
|
201
201
|
holmes/plugins/toolsets/prometheus/utils.py,sha256=ZenD354dP0sRmm0R-QBuAq1jyn40GjYf4wx15bXIYRc,775
|
|
202
202
|
holmes/plugins/toolsets/rabbitmq/api.py,sha256=-BtqF7hQWtl_OamnQ521vYHhR8E2n2wcPNYxfI9r4kQ,14307
|
|
203
203
|
holmes/plugins/toolsets/rabbitmq/rabbitmq_instructions.jinja2,sha256=qetmtJUMkx9LIihr2fSJ2EV9h2J-b-ZdUAvMtopXZYY,3105
|
|
@@ -237,8 +237,8 @@ holmes/utils/sentry_helper.py,sha256=_IbxqlqbsNb_ncvpZ-B5XxcauQphJStcwaVxRj18RpU
|
|
|
237
237
|
holmes/utils/stream.py,sha256=L4vlu1xX5Ihtn-D0Mfml_HuQRfLhHFSkWNojcAJLi9g,3252
|
|
238
238
|
holmes/utils/tags.py,sha256=SU4EZMBtLlIb7OlHsSpguFaypczRzOcuHYxDSanV3sQ,3364
|
|
239
239
|
holmes/version.py,sha256=uDRPOvVaHreROj_9HPe81RVpTzHcG8ojpGTsnJIlQOM,5220
|
|
240
|
-
holmesgpt-0.14.
|
|
241
|
-
holmesgpt-0.14.
|
|
242
|
-
holmesgpt-0.14.
|
|
243
|
-
holmesgpt-0.14.
|
|
244
|
-
holmesgpt-0.14.
|
|
240
|
+
holmesgpt-0.14.2.dist-info/LICENSE.txt,sha256=RdZMj8VXRQdVslr6PMYMbAEu5pOjOdjDqt3yAmWb9Ds,1072
|
|
241
|
+
holmesgpt-0.14.2.dist-info/METADATA,sha256=_-DXRD2oFoAqxL5uMxMeds-RItenYjrE2aRKnmV0DHQ,16184
|
|
242
|
+
holmesgpt-0.14.2.dist-info/WHEEL,sha256=kLuE8m1WYU0Ig0_YEGrXyTtiJvKPpLpDEiChiNyei5Y,88
|
|
243
|
+
holmesgpt-0.14.2.dist-info/entry_points.txt,sha256=JdzEyZhpaYr7Boo4uy4UZgzY1VsAEbzMgGmHZtx9KFY,42
|
|
244
|
+
holmesgpt-0.14.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|