handlers

package
v0.0.0-...-564d4b3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 17, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Err

func Err(method, msg string, err error, logger *slog.Logger) (*mcp.CallToolResult, *errors.ErrToolHandler)

Err is a function that combines logging, metrics and returning errors

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is a type that represents a Prometheus client

func NewClient

func NewClient(apiClient api.Client, logger *slog.Logger) *Client

NewClient is a function that creates a new Client

func (*Client) Alertmanagers

func (x *Client) Alertmanagers(ctx context.Context, rqst mcp.CallToolRequest) (*mcp.CallToolResult, error)

Alertmanagers is a method that queries Prometheus for a list of Alertmanagers

func (*Client) Alerts

func (x *Client) Alerts(ctx context.Context, rqst mcp.CallToolRequest) (*mcp.CallToolResult, error)

Alerts ia a method that queries Prometheus for a list of Alerts

func (*Client) Exemplars

func (x *Client) Exemplars(ctx context.Context, rqst mcp.CallToolRequest) (*mcp.CallToolResult, error)

Exemplars is a method that queries Prometheus for a list of Exemplars

func (*Client) Metrics

func (x *Client) Metrics(ctx context.Context, rqst mcp.CallToolRequest) (*mcp.CallToolResult, error)

Metrics is a method that queries Prometheus for a list of Metrics

func (*Client) Query

func (x *Client) Query(ctx context.Context, rqst mcp.CallToolRequest) (*mcp.CallToolResult, error)

Query is a method that queries Prometheus with PromQL and returns an instant query

func (*Client) QueryRange

func (x *Client) QueryRange(ctx context.Context, rqst mcp.CallToolRequest) (*mcp.CallToolResult, error)

QueryRange is a method queries Promethues with PromQL and returns a range query

func (*Client) Rules

func (x *Client) Rules(ctx context.Context, rqst mcp.CallToolRequest) (*mcp.CallToolResult, error)

Rules is a method that queries Prometheus for a list of Rules

func (*Client) Series

func (x *Client) Series(ctx context.Context, rqst mcp.CallToolRequest) (*mcp.CallToolResult, error)

Series is a method that queries Prometheus for a list of Series

func (*Client) StatusTSDB

func (x *Client) StatusTSDB(ctx context.Context, rqst mcp.CallToolRequest) (*mcp.CallToolResult, error)

StatusTSDB is a method that queries Prometheus for the status of its time-series database

func (*Client) Targets

func (x *Client) Targets(ctx context.Context, rqst mcp.CallToolRequest) (*mcp.CallToolResult, error)

Targets is a method that queries Prometheus for a list of Targets

func (*Client) Tools

func (x *Client) Tools() []server.ServerTool

Tools is a method that returns the MCP server tools implemeneted by Client For every tool defined in this method, there should be a corresponding handler method

type Meta

type Meta struct {
	// contains filtered or unexported fields
}

Meta is a type that represents Prometheus Management API

func NewMeta

func NewMeta(prometheus string, logger *slog.Logger) *Meta

NewMeta is a function that creates a new Meta

func (*Meta) Ping

func (x *Meta) Ping(ctx context.Context, rqst mcp.CallToolRequest) (*mcp.CallToolResult, error)

Ping is a method that pings the Prometheus server's Management API's Readiness check

func (*Meta) Tools

func (x *Meta) Tools() []server.ServerTool

Tools is a method that returns the MCP server tools implemented by Meta For every tool defined in this method, there should be a corresponding handler method

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL