model

package
v0.47.0 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2025 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AIIssue added in v0.45.0

type AIIssue struct {
	UUID             string    `json:"uuid"`
	OrganizationUUID string    `json:"organizationUuid"`
	Title            string    `json:"title"`
	Description      string    `json:"description"`
	Open             bool      `json:"open"`
	CreatedAt        time.Time `json:"createdAt"`
	UpdatedAt        time.Time `json:"updatedAt"`
}

type AIIssueEvent added in v0.47.0

type AIIssueEvent struct {
	UUID              string     `json:"uuid"`
	IssueUUID         string     `json:"issueUuid"`
	Type              string     `json:"type"`
	CommitSHA         *string    `json:"commitSha,omitempty"`
	VCSLink           *string    `json:"vcsLink,omitempty"`
	MetoroLink        *string    `json:"metoroLink,omitempty"`
	Version           *string    `json:"version,omitempty"`
	InvestigationUUID *string    `json:"investigationUuid,omitempty"`
	OccurrenceTime    *time.Time `json:"occurrenceTime,omitempty"`
	CreatedAt         time.Time  `json:"createdAt"`
}

type Aggregation

type Aggregation string
const (
	AggregationSum   Aggregation = "sum"
	AggregationAvg   Aggregation = "avg"
	AggregationMax   Aggregation = "max"
	AggregationMin   Aggregation = "min"
	AggregationCount Aggregation = "count"
	AggregationP50   Aggregation = "p50"
	AggregationP90   Aggregation = "p90"
	AggregationP95   Aggregation = "p95"
	AggregationP99   Aggregation = "p99"

	// Only for trace metrics
	AggregationRequestSize  Aggregation = "requestSize"
	AggregationResponseSize Aggregation = "responseSize"
	AggregationTotalSize    Aggregation = "totalSize"
)

type ChartType added in v0.4.0

type ChartType string
const (
	ChartTypeLine ChartType = "line"
	ChartTypeBar  ChartType = "bar"
)

type CreateAIIssueRequest added in v0.45.0

type CreateAIIssueRequest struct {
	Title       string `json:"title"`
	Description string `json:"description"`
}

type CreateInvestigationRequest added in v0.21.0

type CreateInvestigationRequest struct {
	Title              string            `json:"title" binding:"required"`
	Summary            string            `json:"summary" binding:"required"`
	RecommendedActions *[]string         `json:"recommendedActions,omitempty"`
	Markdown           string            `json:"markdown" binding:"required"`
	Tags               map[string]string `json:"tags,omitempty"`
	IssueStartTime     *time.Time        `json:"issueStartTime,omitempty"`
	IssueEndTime       *time.Time        `json:"issueEndTime,omitempty"`
	ChatHistoryUUID    *string           `json:"chatHistoryUuid,omitempty"`
	// Optional, these ideally should only set by the AI.
	IsVisible            *bool   `json:"isVisible,omitempty"`
	MetoroApprovalStatus *string `json:"metoroApprovalStatus,omitempty"`
	IssueUUID            *string `json:"issueUuid,omitempty"`
	InProgress           *bool   `json:"inProgress,omitempty"`
}

Investigation related types

type Formula added in v0.8.0

type Formula struct {
	Formula string `json:"formula" jsonschema:"description=Math expression combining metric results using their formula identifiers"`
}

type FunctionType

type FunctionType string
const (
	MonotonicDifference FunctionType = "monotonicDifference"
	ValueDifference     FunctionType = "valueDifference"
)

type FuzzyMetricsRequest

type FuzzyMetricsRequest struct {
	MetricFuzzyMatch string   `json:"metricFuzzyMatch"`
	Environments     []string `json:"environments"`
	StartTime        int64    `json:"startTime"`
	EndTime          int64    `json:"endTime"`
}

type GetAIIssueResponse added in v0.45.0

type GetAIIssueResponse struct {
	Issue AIIssue `json:"issue"`
}

type GetAllNodesRequest

type GetAllNodesRequest struct {
	// StartTime Required: Start time of when to get the nodes in seconds since epoch
	StartTime int64 `json:"startTime"`
	// EndTime Required: End time of when to get the nodes in seconds since epoch
	EndTime int64 `json:"endTime"`
	// Environments The cluster/environments to get the nodes for. If empty, all clusters will be included
	Environments []string `json:"environments"`
	// Filters The filters to apply to the nodes, so for example, if you want to get subset of nodes that have a specific label
	Filters map[string][]string `json:"filters"`
	// ExcludeFilters are filters that should be excluded from the nodes
	ExcludeFilters map[string][]string `json:"excludeFilters"`
	// Splits is a list of attributes to split the nodes by, for example, if you want to split the nodes a label
	Splits []string `json:"splits"`
}

type GetAttributeKeysResponse added in v0.15.0

type GetAttributeKeysResponse struct {
	// The attribute values
	Attributes []string `json:"attributes"`
}

type GetAttributeValuesRequest added in v0.8.0

type GetAttributeValuesRequest struct {
	Type       MetricType                    `json:"type"`
	Attribute  string                        `json:"attribute"`
	Limit      *int                          `json:"limit"`
	Metric     *GetMetricAttributesRequest   `json:"metric,omitempty"`
	Trace      *TracesSummaryRequest         `json:"trace,omitempty"`
	Logs       *LogSummaryRequest            `json:"logs,omitempty"`
	Kubernetes *GetKubernetesResourceRequest `json:"kubernetes,omitempty"`
}

type GetK8sEventMetricsRequest

type GetK8sEventMetricsRequest struct {
	// Required: Start time of when to get the logs in seconds since epoch
	StartTime int64 `json:"startTime"`
	// Required: End time of when to get the logs in seconds since epoch
	EndTime int64 `json:"endTime"`

	// The filters to apply to the logs, so for example, if you want to get logs for a specific service
	//you can pass in a filter like {"service_name": ["microservice_a"]}
	Filters map[string][]string `json:"filters"`

	// The exclude filters to apply to the logs, so for example, if you want to exclude logs for a specific service
	//you can pass in a filter like {"service_name": ["microservice_a"]}
	ExcludeFilters map[string][]string `json:"excludeFilters"`

	// Regexes are used to filter k8s events based on a regex inclusively
	Regexes []string `json:"regexes"`
	// ExcludeRegexes are used to filter k8s events based on a regex exclusively
	ExcludeRegexes []string `json:"excludeRegexes"`

	// Splts is a list of attributes to split the metrics by, for example, if you want to split the metrics by service
	// you can pass in a list like ["service_name"]
	Splits []string `json:"splits"`

	// OnlyNumRequests is a flag to only get the number of requests, this is a much faster query
	OnlyNumRequests bool `json:"onlyNumRequests"`

	// Environments is a list of environments to filter the k8s events by. If empty, all environments will be included
	Environments []string `json:"environments"`
}

type GetK8sEventsRequest

type GetK8sEventsRequest struct {
	// Required: Start time of when to get the k8s events in seconds since epoch
	StartTime int64 `json:"startTime"`
	// Required: End time of when to get the k8s events in seconds since epoch
	EndTime int64 `json:"endTime"`
	// The filters to apply to the k8s events, so for example, if you want to get k8s events for a specific service
	// you can pass in a filter like {"service_name": ["microservice_a"]}
	Filters map[string][]string `json:"filters"`
	// ExcludeFilters are filters that should be excluded from the k8s events
	// For example, if you want to get k8s events for all services except microservice_a you can pass in
	// {"service_name": ["microservice_a"]}
	ExcludeFilters map[string][]string `json:"excludeFilters"`
	// Previous page endTime in nanoseconds, used to get the next page of k8s events if there are more k8s events than the page size
	// If omitted, the first page of k8s events will be returned
	PrevEndTime *int64 `json:"prevEndTime"`
	// Regexes are used to filter k8s events based on a regex inclusively
	Regexes []string `json:"regexes"`
	// ExcludeRegexes are used to filter k8s events based on a regex exclusively
	ExcludeRegexes []string `json:"excludeRegexes"`
	// Ascending is a flag to determine if the k8s events should be returned in ascending order
	Ascending bool `json:"ascending"`
	// Environments is the environments to get the k8s events for
	Environments []string `json:"environments"`
}

type GetKubernetesResourceRequest added in v0.8.0

type GetKubernetesResourceRequest struct {
	// Required: Start time of when to get the service summaries in seconds since epoch
	StartTime int64 `json:"startTime"`
	// Required: End time of when to get the service summaries in seconds since epoch
	EndTime int64 `json:"endTime"`
	// The filters to apply to the kubernetes summary, so for example, if you want to get kubernetess for a specific service
	// you can pass in a filter like {"service.name": ["microservice_a"]}
	Filters map[string][]string `json:"filters"`
	// ExcludeFilters are filters that should be excluded from the kubernetes summary
	// For example, if you want to get kubernetess for all services except microservice_a you can pass in
	// {"service_name": ["microservice_a"]}
	ExcludeFilters map[string][]string `json:"excludeFilters"`
	// Splts is a list of attributes to split the metrics by, for example, if you want to split the metrics by service
	// you can pass in a list like ["service_name"]
	Splits []string `json:"splits"`
	// The cluster/environments to get the kubernetes metrics for. If empty, all clusters will be included
	Environments []string `json:"environments"`
	// Functions is the list of functions to apply to the metric, in the same order that they appear in this array!!
	Functions []MetricFunction `json:"functions"`
	// LimitResults is a flag to indicate if the results should be limited.
	LimitResults bool `json:"limitResults"`
	// BucketSize is the size of each datapoint bucket in seconds
	BucketSize int64 `json:"bucketSize"`
	// Aggregation is the operation to apply to the metrics, for example, if you want to sum the metrics you can pass in "sum"
	Aggregation Aggregation `json:"aggregation"`
	// JsonPath is a path to pull the json value from the metric
	JsonPath *string `json:"jsonPath"`
}

type GetLogMetricRequest added in v0.8.0

type GetLogMetricRequest struct {
	GetLogsRequest
	Splits     []string         `` /* 314-byte string literal not displayed */
	Functions  []MetricFunction `` /* 390-byte string literal not displayed */
	BucketSize int64            `` /* 194-byte string literal not displayed */
}

type GetLogsRequest

type GetLogsRequest struct {
	// Required: Start time of when to get the logs in seconds since epoch
	StartTime int64 `json:"startTime"`
	// Required: End time of when to get the logs in seconds since epoch
	EndTime int64 `json:"endTime"`
	// The filters to apply to the logs, so for example, if you want to get logs for a specific service
	// you can pass in a filter like {"service_name": ["microservice_a"]}
	Filters map[string][]string `json:"filters"`
	// ExcludeFilters are filters that should be excluded from the logs
	// For example, if you want to get logs for all services except microservice_a you can pass in
	// {"service_name": ["microservice_a"]}
	ExcludeFilters map[string][]string `json:"excludeFilters"`
	// Previous page endTime in nanoseconds, used to get the next page of logs if there are more logs than the page size
	// If omitted, the first page of logs will be returned
	PrevEndTime *int64 `json:"prevEndTime"`
	// Regexes are used to filter logs based on a regex inclusively
	Regexes []string `json:"regexes"`
	// ExcludeRegexes are used to filter logs based on a regex exclusively
	ExcludeRegexes []string `json:"excludeRegexes"`
	Ascending      bool     `json:"ascending"`
	// The cluster/environments to get the logs for. If empty, all clusters will be included
	Environments []string `json:"environments"`
	ExportLimit  *int     `json:"exportLimit,omitempty"` // Optional limit on the number of logs to export, defaults to 100 if not specified
}

type GetLogsResponse added in v0.28.0

type GetLogsResponse struct {
	// The logs that match the filters
	Logs []Log `json:"logs"`
}

type GetMetricAttributesRequest added in v0.8.0

type GetMetricAttributesRequest struct {
	// Required: The metric name to get the summary for
	MetricName string `json:"metricName"`
	// Required: Start time of when to get the service summaries in seconds since epoch
	StartTime int64 `json:"startTime"`
	// Required: End time of when to get the service summaries in seconds since epoch
	EndTime int64 `json:"endTime"`
	// Environments is the environments to get the traces for. If empty, all environments will be included
	Environments []string `json:"environments"`
}

type GetMetricNamesResponse added in v0.16.0

type GetMetricNamesResponse struct {
	MetricNames []string `json:"metrics"`
}

type GetMetricRequest

type GetMetricRequest struct {
	// MetricName is the name of the metric to get
	MetricName string `` /* 182-byte string literal not displayed */
	// Required: Start time of when to get the logs in seconds since epoch
	StartTime int64 `json:"startTime" jsonschema:"required,description=Start time of when to get the metrics in seconds since epoch"`
	// Required: End time of when to get the logs in seconds since epoch
	EndTime int64 `json:"endTime" jsonschema:"required,description=Start time of when to get the metrics in seconds since epoch"`
	// The filters to apply to the logs, so for example, if you want to get logs for a specific service
	// you can pass in a filter like {"service_name": ["microservice_a"]}
	Filters map[string][]string `json:"filters"`
	// The filters to exclude from the logs, so for example, if you want to exclude logs for a specific service
	// you can pass in a filter like {"service_name": ["microservice_a"]}
	ExcludeFilters map[string][]string `json:"excludeFilters"`
	// Splits is a list of attributes to split the metrics by, for example, if you want to split the metrics by service
	// you can pass in a list like ["service_name"]
	Splits []string `json:"splits"`
	// Aggregation is the operation to apply to the metrics, for example, if you want to sum the metrics you can pass in "sum"
	Aggregation Aggregation `json:"aggregation"`
	// IsRate is a flag to indicate if the metric is a rate metric
	IsRate bool `json:"isRate"`
	// Functions is the list of functions to apply to the metric, in the same order that they appear in this array!!
	Functions []MetricFunction `json:"functions"`
	// LimitResults is a flag to indicate if the results should be limited.
	LimitResults bool `json:"limitResults"`
	// BucketSize is the size of each datapoint bucket in seconds
	BucketSize int64 `json:"bucketSize"`
}

type GetMultiMetricRequest added in v0.8.0

type GetMultiMetricRequest struct {
	// Required: Start time of when to get the service summaries in seconds
	StartTime int64 `json:"startTime"`
	// Required: End time of when to get the service summaries in seconds
	EndTime  int64                 `json:"endTime"`
	Metrics  []SingleMetricRequest `json:"metrics" jsonschema:"required,description=Array of metrics to get the timeseries data for"`
	Formulas []Formula             `` /* 201-byte string literal not displayed */
}

type GetPodsRequest

type GetPodsRequest struct {
	// Required: Timestamp to get metadata updates after this time
	StartTime int64 `json:"startTime"`

	// Required: Timestamp to get metadata updates before this time
	EndTime int64 `json:"endTime"`

	// Optional: Environment to filter the pods by. If not provided, all environments are considered
	Environments []string `json:"environments"`

	// Optional: ServiceName to get metadata updates. One of ServiceName or NodeName is required
	ServiceName string `json:"serviceName"`

	// Optional: NodeName to get metadata updates. One of ServiceName or NodeName is required
	NodeName string `json:"nodeName"`
}

type GetProfileRequest

type GetProfileRequest struct {
	// Required: ServiceName to get profiling for
	ServiceName string `json:"serviceName"`

	// Optional: ContainerNames to get profiling for
	ContainerNames []string `json:"containerNames"`

	// Required: Timestamp to get profiling after this time
	// Seconds since epoch
	StartTime int64 `json:"startTime"`

	// Required: Timestamp to get profiling this time
	// Seconds since epoch
	EndTime int64 `json:"endTime"`
}

type GetServiceSummariesRequest

type GetServiceSummariesRequest struct {
	// Required: Start time of when to get the service summaries in seconds
	StartTime int64 `json:"startTime"`
	// Required: End time of when to get the service summaries in seconds
	EndTime int64 `json:"endTime"`
	// If empty, all services across all environments will be returned
	Environments []string `json:"environments"`
	// Required: The namespace of the services to get summaries for. If empty, return services from all namespaces
	Namespace string `json:"namespace"`
}

type GetSingleK8sEventSummaryRequest

type GetSingleK8sEventSummaryRequest struct {
	GetK8sEventsRequest
	// The attribute to get the summary for
	Attribute string `json:"attribute"`
}

type GetSingleLogSummaryRequest

type GetSingleLogSummaryRequest struct {
	LogSummaryRequest
	// The attribute to get the summary for
	Attribute string `json:"attribute"`
}

type GetSingleTraceSummaryRequest

type GetSingleTraceSummaryRequest struct {
	TracesSummaryRequest
	// The attribute to get the summary for
	Attribute string `json:"attribute"`
}

type GetTraceMetricRequest

type GetTraceMetricRequest struct {
	// Required: Start time of when to get the logs in seconds since epoch
	StartTime int64 `json:"startTime"`
	// Required: End time of when to get the logs in seconds since epoch
	EndTime int64 `json:"endTime"`

	// Optional: The name of the service to get the trace metrics for
	// Acts as an additional filter
	ServiceNames []string `json:"serviceNames"`

	// The filters to apply to the logs, so for example, if you want to get logs for a specific service
	//you can pass in a filter like {"service_name": ["microservice_a"]}
	Filters map[string][]string `json:"filters"`

	// The exclude filters to apply to the logs, so for example, if you want to exclude logs for a specific service
	//you can pass in a filter like {"service_name": ["microservice_a"]}
	ExcludeFilters map[string][]string `json:"excludeFilters"`

	// Regexes are used to filter traces based on a regex inclusively
	Regexes []string `json:"regexes"`
	// ExcludeRegexes are used to filter traces based on a regex exclusively
	ExcludeRegexes []string `json:"excludeRegexes"`

	// Splts is a list of attributes to split the metrics by, for example, if you want to split the metrics by service
	// you can pass in a list like ["service_name"]
	Splits []string `json:"splits"`

	// Functions is the array of function to apply to the trace metrics,
	//for example, if you want to get the monotonic difference between count of traces each minute.
	// Functions are applied in the same order that they appear in this array
	Functions []MetricFunction `json:"functions"`

	// Aggregate to apply to trace metrics, for example, if you want to sum the metrics you can pass in "sum"
	Aggregate Aggregation `json:"aggregate"`

	// Environments is a list of environments to filter the traces by. If empty, all environments will be included
	Environments []string `json:"environments"`

	// LimitResults is a flag to indicate if the results should be limited.
	LimitResults bool `json:"limitResults"`

	// BucketSize is the size of each datapoint bucket in seconds
	BucketSize int64 `json:"bucketSize"`
}

type GetTracesRequest

type GetTracesRequest struct {
	ServiceNames   []string            `json:"serviceNames"`
	StartTime      int64               `json:"startTime"`
	EndTime        int64               `json:"endTime"`
	Filters        map[string][]string `json:"filters"`
	ExcludeFilters map[string][]string `json:"excludeFilters"`
	PrevEndTime    *int64              `json:"prevEndTime"`
	Regexes        []string            `json:"regexes"`
	ExcludeRegexes []string            `json:"excludeRegexes"`
	Ascending      bool                `json:"ascending"`
	Environments   []string            `json:"environments"`
	Limit          *int                `json:"limit,omitempty"` // Optional limit on the number of traces to return
}

type GetTracesResponse added in v0.28.0

type GetTracesResponse struct {
	// The traces that match the filters
	Traces []TraceEl `json:"traces"`
}

type GroupWidget added in v0.4.0

type GroupWidget struct {
	Widget   `json:",inline"`
	Title    *string             `json:"title,omitempty" jsonschema:"description=The title of the group widget if present"`
	Children []MetricChartWidget `json:"children" jsonschema:"description=The children widgets of the group widget. The children are MetricChartWidgets."`
}

GroupWidget represents a group of widgets

type Link struct {
	// The trace id of the linked trace
	TraceId string `json:"traceId"`
	// The span id of the linked trace
	SpanId string `json:"spanId"`
	// Attributes of the link
	Attributes map[string]string `json:"attributes"`
}

type ListAIIssueEventsResponse added in v0.47.0

type ListAIIssueEventsResponse struct {
	Events []AIIssueEvent `json:"events"`
}

type ListAIIssuesResponse added in v0.45.0

type ListAIIssuesResponse struct {
	Issues []AIIssue `json:"issues"`
}

type Log added in v0.28.0

type Log struct {
	// The time that the log line was emitted in milliseconds since the epoch
	Time int64 `json:"time"`
	// The severity of the log line
	Severity string `json:"severity"`
	// The log message
	Message string `json:"message"`
	// The attributes of the log line
	LogAttributes map[string]string `json:"logAttributes"`
	// The attributes of the resource that emitted the log line
	ResourceAttributes map[string]string `json:"resourceAttributes"`
	// Service name
	ServiceName string `json:"serviceName"`
	// Environment
	Environment string `json:"environment"`
}

type LogSummaryRequest

type LogSummaryRequest struct {
	// Required: Start time of when to get the service summaries in seconds since epoch
	StartTime int64 `json:"startTime"`
	// Required: End time of when to get the service summaries in seconds since epoch
	EndTime int64 `json:"endTime"`
	// The filters to apply to the log summary, so for example, if you want to get logs for a specific service
	// you can pass in a filter like {"service_name": ["microservice_a"]}
	Filters map[string][]string `json:"filters"`

	ExcludeFilters map[string][]string `json:"excludeFilters"`
	// RegexFilter is a regex to filter the logs
	Regexes        []string `json:"regexes"`
	ExcludeRegexes []string `json:"excludeRegexes"`
	// The cluster/environments to get the logs for. If empty, all clusters will be included
	Environments []string `json:"environments"`
}

type MarkdownWidget added in v0.4.0

type MarkdownWidget struct {
	Widget  `json:",inline"`
	Content string `json:"content"`
}

MarkdownWidget represents a markdown content widget

type MathExpression

type MathExpression struct {
	Variables  []string `` /* 129-byte string literal not displayed */
	Expression string   `` /* 176-byte string literal not displayed */
}

type MetricAttributesRequest

type MetricAttributesRequest struct {
	StartTime        int64               `json:"startTime"`
	EndTime          int64               `json:"endTime"`
	MetricName       string              `json:"metricName"`
	FilterAttributes map[string][]string `json:"filterAttributes"`
}

type MetricChartWidget added in v0.4.0

type MetricChartWidget struct {
	Widget         `json:",inline"`
	MetricName     string              `` /* 300-byte string literal not displayed */
	Filters        map[string][]string `` /* 188-byte string literal not displayed */
	ExcludeFilters map[string][]string `` /* 211-byte string literal not displayed */
	Splits         []string            `` /* 324-byte string literal not displayed */
	Aggregation    string              `` /* 191-byte string literal not displayed */
	Title          *string             `json:"title,omitempty" jsonschema:"description=The title of the metric chart widget if present"`
	Type           ChartType           `json:"type" jsonschema:"description=The type of the chart to display. Possible values are line / bar."`
	MetricType     MetricType          `` /* 164-byte string literal not displayed */
	Functions      []MetricFunction    `` /* 184-byte string literal not displayed */
}

MetricChartWidget represents a metric chart widget

type MetricFunction

type MetricFunction struct {
	// The type of the function
	FunctionType FunctionType `` /* 272-byte string literal not displayed */

}

type MetricType added in v0.4.0

type MetricType string
const (
	Metric MetricType = "metric" // please excuse the bad naming... this is a metric timeseries type.
	Trace  MetricType = "trace"  // trace timeseries type.

	Logs MetricType = "logs" // log timeseries type.

	KubernetesResource MetricType = "kubernetes_resource" // kubernetes resource timeseries type.
)

type MultiMetricAttributeKeysRequest added in v0.8.0

type MultiMetricAttributeKeysRequest struct {
	Type   string                      `json:"type"`
	Metric *GetMetricAttributesRequest `json:"metric,omitempty"`
}

type SetDashboardRequest added in v0.4.0

type SetDashboardRequest struct {
	Name             string `json:"name"`
	Id               string `json:"id"`
	DashboardJson    string `json:"dashboardJson"`
	DefaultTimeRange string `json:"defaultTimeRange"`
}

Dasboarding structs

type SingleMetricRequest added in v0.8.0

type SingleMetricRequest struct {
	Type               string                        `` /* 130-byte string literal not displayed */
	Metric             *GetMetricRequest             `json:"metric,omitempty" jsonschema:"description=Metric request details when type is 'metric'"`
	Trace              *GetTraceMetricRequest        `json:"trace,omitempty" jsonschema:"description=Trace metric request details when type is 'trace'"`
	Logs               *GetLogMetricRequest          `json:"logs,omitempty" jsonschema:"description=Log metric request details when type is 'logs'"`
	KubernetesResource *GetKubernetesResourceRequest `json:"kubernetes,omitempty" jsonschema:"description=Kubernetes resource request details when type is 'kubernetes_resource'"`
	ShouldNotReturn    bool                          `json:"shouldNotReturn" jsonschema:"description=If true result won't be returned (useful for formulas)"`
	FormulaIdentifier  string                        `json:"formulaIdentifier" jsonschema:"description=Identifier to reference this metric in formulas"`
}

type TraceEl added in v0.28.0

type TraceEl struct {
	// The id of the trace
	TraceId string `json:"traceId"`
	// Status Code of the trace
	StatusCode string `json:"statusCode"`
	// The time that the trace was emitted in milliseconds since the epoch
	Time int64 `json:"time"`
	// The attributes of the trace
	SpanAttributes map[string]string `json:"spanAttributes"`
	// The attributes of the resource that emitted the trace
	ResourceAttributes map[string]string `json:"resourceAttributes"`
	// Service name
	ServiceName string `json:"serviceName"`
	// Display Service name
	DisplayServiceName string `json:"displayServiceName"`
	// Client name
	ClientName string `json:"clientName"`
	// Display Client name
	DisplayClientName string `json:"displayClientName"`
	// Span Id
	SpanId string `json:"spanId"`
	// Span Name
	SpanName string `json:"spanName"`
	// The duration of the trace
	Duration int64 `json:"duration"`
	// Human readable duration, e.g. "1.2s" or "500ms"
	DurationReadable string `json:"durationReadable"`
	// The parent span id
	ParentSpanId string `json:"parentSpanId"`
	// Links
	Links []Link `json:"links"`
}

type TracesSummaryRequest

type TracesSummaryRequest struct {
	// Required: Start time of when to get the service summaries in seconds since epoch
	StartTime int64 `json:"startTime"`
	// Required: End time of when to get the service summaries in seconds since epoch
	EndTime int64 `json:"endTime"`

	// The filters to apply to the trace summary, so for example, if you want to get traces for a specific service
	// you can pass in a filter like {"service_name": ["microservice_a"]}
	Filters map[string][]string `json:"filters"`
	// ExcludeFilters are used to exclude traces based on a filter
	ExcludeFilters map[string][]string `json:"excludeFilters"`

	// Regexes are used to filter traces based on a regex inclusively
	Regexes []string `json:"regexes"`
	// ExcludeRegexes are used to filter traces based on a regex exclusively
	ExcludeRegexes []string `json:"excludeRegexes"`

	// Optional: The name of the service to get the trace metrics for
	// Acts as an additional filter
	ServiceNames []string `json:"serviceNames"`

	// Environments is the environments to get the traces for. If empty, all environments will be included
	Environments []string `json:"environments"`
}

type UpdateAIIssueRequest added in v0.45.0

type UpdateAIIssueRequest struct {
	Title       *string `json:"title,omitempty"`
	Description *string `json:"description,omitempty"`
	Open        *bool   `json:"open,omitempty"`
}

type Widget added in v0.4.0

type Widget struct {
	WidgetType WidgetType      `json:"widgetType" jsonschema:"required,description=The type of the widget. This can be MetricChart / Group / Markdown"`
	Position   *WidgetPosition `json:"position,omitempty" jsonschema:"description=The position of the widget in the dashboard"`
}

Widget is the base interface for all widget types

type WidgetPosition added in v0.4.0

type WidgetPosition struct {
	X *int `json:"x,omitempty"`
	Y *int `json:"y,omitempty"`
	W *int `` /* 170-byte string literal not displayed */
	H *int `` /* 138-byte string literal not displayed */
}

WidgetPosition represents the position of a widget relative to its parent

type WidgetType added in v0.4.0

type WidgetType string

WidgetType is an enum representing different types of widgets

const (
	MetricChartWidgetType WidgetType = "MetricChart"
	GroupWidgetType       WidgetType = "Group"
	MarkdownWidgetType    WidgetType = "Markdown"
)

Jump to

Keyboard shortcuts

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