Documentation
¶
Index ¶
Constants ¶
View Source
const (
PodLifeStageMaxInterval = time.Duration(25e9)
)
Variables ¶
View Source
var ( ApiCalledCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "lunettes_api_called_counter", Help: "", }, []string{"apiname", "useragent", "ip"}, ) )
Functions ¶
func QuerySloPodInfo ¶
func QuerySloPodInfo(podUID string) []*xsearch.SloPodInfo
Types ¶
type PerfRequest ¶
type PerfRequest struct {
// 查询开始时间时间戳(trace开始时间)
StartTimestamp time.Time `json:"startTimestamp,omitempty"`
// 查询结束时间时间戳
FinishTimestamp time.Time `json:"finishTimestamp,omitempty"`
Cluster string `json:"cluster,omitempty"`
Namespace string `json:"namespace,omitempty"`
}
PerfRequest is request query parameters
type Server ¶
type Server struct {
Config *ServerConfig
ESClient *elastic.Client
}
Server is server to query trace stats
func NewAPIServer ¶
func NewAPIServer(config *ServerConfig) (*Server, error)
NewAPIServer create new API server
func (*Server) StartServer ¶
func (s *Server) StartServer(stopCh chan struct{})
StartServer start new api server
type ServerConfig ¶
type ServerConfig struct {
MetricsAddr string
ESConfig *xsearch.ElasticSearchConf
ListenAddr string
}
ServerConfig is configuration for api server
type SpanItem ¶
type SpanItem struct {
// 服务名
Service string `json:"service,omitempty"`
// 处理内容
Operation string `json:"operation,omitempty"`
StartTimestamp time.Time `json:"startTimestamp,omitempty"`
FinishTimestamp time.Time `json:"finishTimestamp,omitempty"`
// 是否出错
Error bool `json:"error,omitempty"`
// 该span在总的trace中耗时的百分比
DurationPercent float64 `json:"durationPercent,omitempty"`
}
SpanItem is one span in a trace
type TraceItem ¶
type TraceItem struct {
UID string `json:"uid,omitempty"`
Cluster string `json:"cluster,omitempty"`
Namespace string `json:"namespace,omitempty"`
Name string `json:"name,omitempty"`
TraceType string `json:"traceType,omitempty"`
// true 表示失败的trace
Error bool `json:"error,omitempty"`
// 失败原因
FailedReason string `json:"failedReason,omitempty"`
// 所属模块,network/storage/image/...
Module string `json:"module,omitempty"`
FailedMessage string `json:"failedMessage,omitempty"`
StartTimestamp time.Time `json:"startTimestamp,omitempty"`
FinishTimestamp time.Time `json:"finishTimestamp,omitempty"`
HostIP string `json:"hostIP,omitempty"`
NodeName string `json:"nodeName,omitempty"`
// 管理组件,直接创建的Pod为空
OwnerType string `json:"ownerType,omitempty"`
// jaeger里的trace id,可以直接拼接到jaeger ui的链接后面打开jaeger
JaegerTraceID string `json:"jaegerTraceID,omitempty"`
JaegerURL string `json:"jaegerURL,omitempty"`
// 是否为job类型的pod
IsJob bool `json:"isJob,omitempty"`
// 每个span的概要。
Spans []SpanItem `json:"spans,omitempty"`
}
TraceItem is one trace item for a pod creation/deletion
type TraceRequest ¶
type TraceRequest struct {
// create/delete/start/stop/upgrade/update
TraceType string `json:"traceType,omitempty"`
// 查询开始时间时间戳(trace开始时间)
StartTimestamp time.Time `json:"startTimestamp,omitempty"`
// 查询结束时间时间戳
FinishTimestamp time.Time `json:"finishTimestamp,omitempty"`
Hostname string `json:"hostname,omitempty"`
RequestID string `json:"requestID,omitempty"`
// Pod's meta data
UID string `json:"uid,omitempty"`
Cluster string `json:"cluster,omitempty"`
Namespace string `json:"namespace,omitempty"`
Name string `json:"name,omitempty"`
Error bool `json:"error,omitempty"`
HasError string `json:"haserr,omitempty"`
}
TraceRequest is request query parameters
type WatchParam ¶
type WatchParam struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.