Documentation
¶
Overview ¶
Package usagedata implements MCP tools for GitLab Usage Data / Service Ping API.
Index ¶
- func FormatMetricDefinitionsMarkdown(out MetricDefinitionsOutput) string
- func FormatNonSQLMetricsMarkdown(out NonSQLMetricsOutput) string
- func FormatQueriesMarkdown(out QueriesOutput) string
- func FormatServicePingMarkdown(out GetServicePingOutput) string
- func FormatTrackEventMarkdown(out TrackEventOutput) string
- func FormatTrackEventsMarkdown(out TrackEventsOutput) string
- func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
- type GetMetricDefinitionsInput
- type GetNonSQLMetricsInput
- type GetQueriesInput
- type GetServicePingInput
- type GetServicePingOutput
- type MetricDefinitionsOutput
- type NonSQLMetricsOutput
- type QueriesOutput
- type TrackEventInput
- type TrackEventOutput
- type TrackEventsInput
- type TrackEventsOutput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FormatMetricDefinitionsMarkdown ¶
func FormatMetricDefinitionsMarkdown(out MetricDefinitionsOutput) string
FormatMetricDefinitionsMarkdown formats metric definitions as markdown.
func FormatNonSQLMetricsMarkdown ¶
func FormatNonSQLMetricsMarkdown(out NonSQLMetricsOutput) string
FormatNonSQLMetricsMarkdown formats non-SQL metrics as markdown.
func FormatQueriesMarkdown ¶
func FormatQueriesMarkdown(out QueriesOutput) string
FormatQueriesMarkdown formats queries as markdown.
func FormatServicePingMarkdown ¶
func FormatServicePingMarkdown(out GetServicePingOutput) string
FormatServicePingMarkdown formats service ping data as markdown.
func FormatTrackEventMarkdown ¶
func FormatTrackEventMarkdown(out TrackEventOutput) string
FormatTrackEventMarkdown formats track event result as markdown.
func FormatTrackEventsMarkdown ¶
func FormatTrackEventsMarkdown(out TrackEventsOutput) string
FormatTrackEventsMarkdown formats track events result as markdown.
func RegisterTools ¶
func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
RegisterTools registers all Usage Data MCP tools.
Types ¶
type GetMetricDefinitionsInput ¶
type GetMetricDefinitionsInput struct{}
GetMetricDefinitionsInput is the input (no params).
type GetNonSQLMetricsInput ¶
type GetNonSQLMetricsInput struct{}
GetNonSQLMetricsInput is the input (no params).
type GetServicePingInput ¶
type GetServicePingInput struct{}
GetServicePingInput is the input (no params).
type GetServicePingOutput ¶
type GetServicePingOutput struct {
toolutil.HintableOutput
RecordedAt string `json:"recorded_at"`
License map[string]string `json:"license"`
Counts map[string]int64 `json:"counts"`
}
GetServicePingOutput is the output for getting service ping data.
func GetServicePing ¶
func GetServicePing(ctx context.Context, client *gitlabclient.Client, _ GetServicePingInput) (GetServicePingOutput, error)
GetServicePing retrieves service ping data (admin-only).
type MetricDefinitionsOutput ¶
type MetricDefinitionsOutput struct {
toolutil.HintableOutput
YAML string `json:"yaml"`
}
MetricDefinitionsOutput is the output for metric definitions.
func GetMetricDefinitions ¶
func GetMetricDefinitions(ctx context.Context, client *gitlabclient.Client, _ GetMetricDefinitionsInput) (MetricDefinitionsOutput, error)
GetMetricDefinitions retrieves metric definitions as YAML (admin-only).
type NonSQLMetricsOutput ¶
type NonSQLMetricsOutput struct {
toolutil.HintableOutput
RecordedAt string `json:"recorded_at"`
UUID string `json:"uuid"`
Hostname string `json:"hostname"`
Version string `json:"version"`
InstallationType string `json:"installation_type"`
ActiveUserCount int64 `json:"active_user_count"`
Edition string `json:"edition"`
LicenseMD5 string `json:"license_md5"`
LicenseSHA256 string `json:"license_sha256"`
LicenseID string `json:"license_id"`
HistoricalMaxUsers int64 `json:"historical_max_users"`
Licensee map[string]string `json:"licensee"`
LicenseUserCount int64 `json:"license_user_count"`
LicenseStartsAt string `json:"license_starts_at"`
LicenseExpiresAt string `json:"license_expires_at"`
LicensePlan string `json:"license_plan"`
LicenseAddOns map[string]int64 `json:"license_add_ons"`
LicenseTrial string `json:"license_trial"`
LicenseSubscriptionID string `json:"license_subscription_id"`
License map[string]string `json:"license"`
Settings map[string]string `json:"settings"`
}
NonSQLMetricsOutput is the output for non-SQL metrics.
func GetNonSQLMetrics ¶
func GetNonSQLMetrics(ctx context.Context, client *gitlabclient.Client, _ GetNonSQLMetricsInput) (NonSQLMetricsOutput, error)
GetNonSQLMetrics retrieves non-SQL service ping metrics (admin-only).
type QueriesOutput ¶
type QueriesOutput struct {
toolutil.HintableOutput
RecordedAt string `json:"recorded_at"`
UUID string `json:"uuid"`
Hostname string `json:"hostname"`
Version string `json:"version"`
InstallationType string `json:"installation_type"`
ActiveUserCount string `json:"active_user_count"`
Edition string `json:"edition"`
LicenseMD5 string `json:"license_md5"`
LicenseSHA256 string `json:"license_sha256"`
LicenseID string `json:"license_id"`
HistoricalMaxUsers int64 `json:"historical_max_users"`
Licensee map[string]string `json:"licensee"`
LicenseUserCount int64 `json:"license_user_count"`
LicenseStartsAt string `json:"license_starts_at"`
LicenseExpiresAt string `json:"license_expires_at"`
LicensePlan string `json:"license_plan"`
LicenseAddOns map[string]int64 `json:"license_add_ons"`
LicenseTrial string `json:"license_trial"`
LicenseSubscriptionID string `json:"license_subscription_id"`
License map[string]string `json:"license"`
Settings map[string]string `json:"settings"`
Counts map[string]string `json:"counts"`
}
QueriesOutput is the output for service ping queries.
func GetQueries ¶
func GetQueries(ctx context.Context, client *gitlabclient.Client, _ GetQueriesInput) (QueriesOutput, error)
GetQueries retrieves service ping SQL queries (admin-only).
type TrackEventInput ¶
type TrackEventInput struct {
Event string `json:"event" jsonschema:"Event name to track,required"`
SendToSnowplow *bool `json:"send_to_snowplow,omitempty" jsonschema:"Whether to send event to Snowplow"`
NamespaceID *int64 `json:"namespace_id,omitempty" jsonschema:"Namespace ID"`
ProjectID *int64 `json:"project_id,omitempty" jsonschema:"Project ID"`
}
TrackEventInput is the input for tracking a single event.
type TrackEventOutput ¶
type TrackEventOutput struct {
toolutil.HintableOutput
Status string `json:"status"`
}
TrackEventOutput is the output for tracking a single event.
func TrackEvent ¶
func TrackEvent(ctx context.Context, client *gitlabclient.Client, input TrackEventInput) (TrackEventOutput, error)
TrackEvent tracks a single usage event.
type TrackEventsInput ¶
type TrackEventsInput struct {
Events []TrackEventInput `json:"events" jsonschema:"Array of events to track,required"`
}
TrackEventsInput is the input for tracking multiple events.
type TrackEventsOutput ¶
type TrackEventsOutput struct {
toolutil.HintableOutput
Status string `json:"status"`
Count int `json:"count"`
}
TrackEventsOutput is the output for tracking multiple events.
func TrackEvents ¶
func TrackEvents(ctx context.Context, client *gitlabclient.Client, input TrackEventsInput) (TrackEventsOutput, error)
TrackEvents tracks multiple usage events in batch.