Documentation
¶
Index ¶
- func GetMetadataAttributes(metadata string) (map[string]interface{}, error)
- type AuthInfo
- type HTTPAccessLogEntry
- func (e *HTTPAccessLogEntry) FormatedStartTime(format ...string) string
- func (e *HTTPAccessLogEntry) FormattedResponseFlags() string
- func (e *HTTPAccessLogEntry) FormattedString(tpl *template.Template) string
- func (e *HTTPAccessLogEntry) GetUniqueKey(byWorkload bool) string
- func (e *HTTPAccessLogEntry) LatencyInMiliseconds() int64
- func (e *HTTPAccessLogEntry) RequestBytes() uint64
- func (e *HTTPAccessLogEntry) ResponseBytes() uint64
- func (e *HTTPAccessLogEntry) SetReporter(id *als_proto_cp.StreamAccessLogsMessage_Identifier)
- func (e *HTTPAccessLogEntry) String() string
- type HTTPRequest
- type HTTPResponse
- type Headers
- type Owner
- type Reporter
- type RequestDurations
- type RequestEndpoint
- type TCPAddr
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetMetadataAttributes ¶
Types ¶
type HTTPAccessLogEntry ¶
type HTTPAccessLogEntry struct {
Reporter *Reporter `json:"reporter"`
Direction string `json:"direction"`
StartTime string `json:"startTime"`
UpstreamCluster string `json:"upstreamCluster"`
Source *RequestEndpoint `json:"source"`
Destination *RequestEndpoint `json:"destination"`
Request *HTTPRequest `json:"request"`
Response *HTTPResponse `json:"response"`
Latency *time.Duration `json:"latency"`
Durations *RequestDurations `json:"durations"`
ProtocolVersion string `json:"protocolVersion"`
AuthInfo *AuthInfo `json:"authInfo,omitempty"`
// contains filtered or unexported fields
}
func New ¶
func New(le *al_proto.HTTPAccessLogEntry) (*HTTPAccessLogEntry, error)
func (*HTTPAccessLogEntry) FormatedStartTime ¶
func (e *HTTPAccessLogEntry) FormatedStartTime(format ...string) string
func (*HTTPAccessLogEntry) FormattedResponseFlags ¶
func (e *HTTPAccessLogEntry) FormattedResponseFlags() string
func (*HTTPAccessLogEntry) FormattedString ¶
func (e *HTTPAccessLogEntry) FormattedString(tpl *template.Template) string
func (*HTTPAccessLogEntry) GetUniqueKey ¶
func (e *HTTPAccessLogEntry) GetUniqueKey(byWorkload bool) string
func (*HTTPAccessLogEntry) LatencyInMiliseconds ¶
func (e *HTTPAccessLogEntry) LatencyInMiliseconds() int64
func (*HTTPAccessLogEntry) RequestBytes ¶
func (e *HTTPAccessLogEntry) RequestBytes() uint64
func (*HTTPAccessLogEntry) ResponseBytes ¶
func (e *HTTPAccessLogEntry) ResponseBytes() uint64
func (*HTTPAccessLogEntry) SetReporter ¶
func (e *HTTPAccessLogEntry) SetReporter(id *als_proto_cp.StreamAccessLogsMessage_Identifier)
func (*HTTPAccessLogEntry) String ¶
func (e *HTTPAccessLogEntry) String() string
type HTTPRequest ¶
type HTTPRequest struct {
ID string `json:"id"`
Method string `json:"method"`
Scheme string `json:"scheme"`
Authority string `json:"authority"`
Path string `json:"path"`
UserAgent string `json:"userAgent,omitempty"`
Referer string `json:"referer,omitempty"`
ForwardedFor string `json:"forwardedFor,omitempty"`
OriginalPath string `json:"originalPath,omitempty"`
HeaderBytes uint64 `json:"headerBytes"`
BodyBytes uint64 `json:"bodyBytes"`
Metadata map[string]string `json:"metadata,omitempty"`
Headers map[string]string `json:"headers,omitempty"`
}
func (*HTTPRequest) IsIdentifiable ¶
func (r *HTTPRequest) IsIdentifiable()
type HTTPResponse ¶
type HTTPResponse struct {
StatusCode uint32 `json:"statusCode"`
StatusCodeDetails string `json:"statusCodeDetails"`
Flags []string `json:"flags"`
HeaderBytes uint64 `json:"headerBytes"`
BodyBytes uint64 `json:"bodyBytes"`
Metadata map[string]string `json:"metadata,omitempty"`
Headers map[string]string `json:"headers,omitempty"`
Trailers map[string]string `json:"trailers,omitempty"`
}
type Reporter ¶
type Reporter struct {
ID string `json:"id,omitempty"`
Owner *Owner `json:"owner,omitempty"`
ClusterID string `json:"clusterID,omitempty"`
InstanceIPs []string `json:"instanceIPs,omitempty"`
IstioVersion string `json:"istioVersion,omitempty"`
MeshID string `json:"meshID,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Workload string `json:"workload,omitempty"`
ServiceAccount string `json:"serviceAccount,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
}
func (*Reporter) IsIdentifiable ¶
func (re *Reporter) IsIdentifiable()
func (*Reporter) SetAttributes ¶
type RequestDurations ¶
type RequestDurations struct {
// time it takes to receive a request
TimeToLastRxByte *time.Duration `json:"timeToLastRxByte,omitempty"`
// time it takes to send out a request from the proxy
TimeToFirstUpstreamTxByte *time.Duration `json:"timeToFirstUpstreamTxByte,omitempty"`
// time it takes for a request to be sent from the proxy
TimeToLastUpstreamTxByte *time.Duration `json:"timeToLastUpstreamTxByte,omitempty"`
// time it takes to start receiving a response
TimeToFirstUpstreamRxByte *time.Duration `json:"timeToFirstUpstreamRxByte,omitempty"`
// time it takes to receive a complete response
TimeToLastUpstreamRxByte *time.Duration `json:"timeToLastUpstreamRxByte,omitempty"`
// time it takes to start sending a response to downstream
TimeToFirstDownstreamTxByte *time.Duration `json:"timeToFirstDownstreamTxByte,omitempty"`
// time it takes to send a complete response to downstream
TimeToLastDownstreamTxByte *time.Duration `json:"timeToLastDownstreamTxByte,omitempty"`
}
type RequestEndpoint ¶
type RequestEndpoint struct {
Address *TCPAddr `json:"address"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
Workload string `json:"workload,omitempty"`
ServiceAccount string `json:"serviceAccount,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
}
func (*RequestEndpoint) SetAttributes ¶
func (re *RequestEndpoint) SetAttributes(attrs map[string]interface{})
func (*RequestEndpoint) String ¶
func (re *RequestEndpoint) String() string
Click to show internal directories.
Click to hide internal directories.