Documentation
¶
Index ¶
- Constants
- func AggregateData(data []interface{}, trackAllPaths bool, ignoreTagPrefixList []string, ...) map[string]AnalyticsRecordAggregate
- type AnalyticsFilters
- type AnalyticsRecord
- type AnalyticsRecordAggregate
- func (f *AnalyticsRecordAggregate) AsChange() bson.M
- func (f *AnalyticsRecordAggregate) AsTimeUpdate() bson.M
- func (f *AnalyticsRecordAggregate) DiscardAggregations(fields []string)
- func (f AnalyticsRecordAggregate) New() AnalyticsRecordAggregate
- func (f *AnalyticsRecordAggregate) SetErrorList(parent, thisUnit string, counter *Counter, newUpdate bson.M)
- type Counter
- type ErrorData
- type GeoData
- type Latency
- type NetworkStats
- type UptimeReportData
Constants ¶
View Source
const ( AgggregateMixedCollectionName = "tyk_analytics_aggregates" MongoAggregatePrefix = "mongo-pump-aggregate" )
Variables ¶
This section is empty.
Functions ¶
func AggregateData ¶
func AggregateData(data []interface{}, trackAllPaths bool, ignoreTagPrefixList []string, storeAnalyticPerMinute bool) map[string]AnalyticsRecordAggregate
AggregateData calculates aggregated data, returns map orgID => aggregated analytics data
Types ¶
type AnalyticsFilters ¶ added in v1.0.0
type AnalyticsFilters struct { OrgsIDs []string `json:"org_ids"` APIIDs []string `json:"api_ids"` ResponseCodes []int `json:"response_codes"` SkippedOrgsIDs []string `json:"skip_org_ids"` SkippedAPIIDs []string `json:"skip_api_ids"` SkippedResponseCodes []int `json:"skip_response_codes"` }
func (AnalyticsFilters) HasFilter ¶ added in v1.0.0
func (filters AnalyticsFilters) HasFilter() bool
func (AnalyticsFilters) ShouldFilter ¶ added in v1.0.0
func (filters AnalyticsFilters) ShouldFilter(record AnalyticsRecord) bool
type AnalyticsRecord ¶
type AnalyticsRecord struct { Method string Host string Path string RawPath string ContentLength int64 UserAgent string Day int Month time.Month Year int Hour int ResponseCode int APIKey string TimeStamp time.Time APIVersion string APIName string APIID string OrgID string OauthID string RequestTime int64 RawRequest string RawResponse string IPAddress string Geo GeoData Network NetworkStats Latency Latency Tags []string Alias string TrackPath bool ExpireAt time.Time `bson:"expireAt" json:"expireAt"` }
AnalyticsRecord encodes the details of a request
func (*AnalyticsRecord) GetFieldNames ¶
func (a *AnalyticsRecord) GetFieldNames() []string
func (*AnalyticsRecord) GetLineValues ¶
func (a *AnalyticsRecord) GetLineValues() []string
type AnalyticsRecordAggregate ¶
type AnalyticsRecordAggregate struct { TimeStamp time.Time OrgID string TimeID struct { Year int Month int Day int Hour int } APIKeys map[string]*Counter Errors map[string]*Counter Versions map[string]*Counter APIID map[string]*Counter OauthIDs map[string]*Counter Geo map[string]*Counter Tags map[string]*Counter Endpoints map[string]*Counter Lists struct { APIKeys []Counter APIID []Counter OauthIDs []Counter Geo []Counter Tags []Counter Errors []Counter Endpoints []Counter KeyEndpoint map[string][]Counter `bson:"keyendpoints"` OauthEndpoint map[string][]Counter `bson:"oauthendpoints"` APIEndpoint []Counter `bson:"apiendpoints"` } KeyEndpoint map[string]map[string]*Counter `bson:"keyendpoints"` OauthEndpoint map[string]map[string]*Counter `bson:"oauthendpoints"` ApiEndpoint map[string]*Counter `bson:"apiendpoints"` Total Counter ExpireAt time.Time `bson:"expireAt" json:"expireAt"` LastTime time.Time }
func (*AnalyticsRecordAggregate) AsChange ¶
func (f *AnalyticsRecordAggregate) AsChange() bson.M
func (*AnalyticsRecordAggregate) AsTimeUpdate ¶
func (f *AnalyticsRecordAggregate) AsTimeUpdate() bson.M
func (*AnalyticsRecordAggregate) DiscardAggregations ¶ added in v1.2.0
func (f *AnalyticsRecordAggregate) DiscardAggregations(fields []string)
DiscardAggregations this method discard the aggregations of X field specified in the aggregated pump configuration
func (AnalyticsRecordAggregate) New ¶
func (f AnalyticsRecordAggregate) New() AnalyticsRecordAggregate
func (*AnalyticsRecordAggregate) SetErrorList ¶ added in v1.0.0
func (f *AnalyticsRecordAggregate) SetErrorList(parent, thisUnit string, counter *Counter, newUpdate bson.M)
type Counter ¶
type Counter struct { Hits int `json:"hits"` Success int `json:"success"` ErrorTotal int `json:"error"` RequestTime float64 `json:"request_time"` TotalRequestTime float64 `json:"total_request_time"` Identifier string `json:"identifier"` HumanIdentifier string `json:"human_identifier"` LastTime time.Time `json:"last_time"` OpenConnections int64 `json:"open_connections"` ClosedConnections int64 `json:"closed_connections"` BytesIn int64 `json:"bytes_in"` BytesOut int64 `json:"bytes_out"` MaxUpstreamLatency int64 `json:"max_upstream_latency"` MinUpstreamLatency int64 `json:"min_upstream_latency"` TotalUpstreamLatency int64 `json:"total_upstream_latency"` UpstreamLatency float64 `json:"upstream_latency"` MaxLatency int64 `json:"max_latency"` MinLatency int64 `json:"min_latency"` TotalLatency int64 `json:"total_latency"` Latency float64 `json:"latency"` ErrorMap map[string]int `json:"error_map"` ErrorList []ErrorData `json:"error_list"` }
type GeoData ¶
type GeoData struct { Country struct { ISOCode string `maxminddb:"iso_code"` } `maxminddb:"country"` City struct { GeoNameID uint `maxminddb:"geoname_id"` Names map[string]string `maxminddb:"names"` } `maxminddb:"city"` Location struct { Latitude float64 `maxminddb:"latitude"` Longitude float64 `maxminddb:"longitude"` TimeZone string `maxminddb:"time_zone"` } `maxminddb:"location"` }
type NetworkStats ¶
Click to show internal directories.
Click to hide internal directories.