mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-19 18:34:59 +00:00
PMM-9288 Changes.
This commit is contained in:
@@ -97,7 +97,6 @@ func (s *Stats) Add(doc proto.SystemProfile) error {
|
|||||||
AppName: doc.AppName,
|
AppName: doc.AppName,
|
||||||
Client: doc.Client,
|
Client: doc.Client,
|
||||||
User: doc.User,
|
User: doc.User,
|
||||||
Database: strings.Split(doc.Ns, ".")[0],
|
|
||||||
Comments: doc.Comments,
|
Comments: doc.Comments,
|
||||||
TimeStamp: doc.Ts,
|
TimeStamp: doc.Ts,
|
||||||
}
|
}
|
||||||
@@ -229,7 +228,6 @@ type QueryInfoAndCounters struct {
|
|||||||
AppName string
|
AppName string
|
||||||
Client string
|
Client string
|
||||||
User string
|
User string
|
||||||
Database string
|
|
||||||
Comments string
|
Comments string
|
||||||
|
|
||||||
LGlobalAcquireCountRShared int
|
LGlobalAcquireCountRShared int
|
||||||
@@ -273,6 +271,7 @@ type totalCounters struct {
|
|||||||
QueryTime float64
|
QueryTime float64
|
||||||
Bytes float64
|
Bytes float64
|
||||||
DocsExamined float64
|
DocsExamined float64
|
||||||
|
KeysExamined float64
|
||||||
}
|
}
|
||||||
|
|
||||||
type QueryStats struct {
|
type QueryStats struct {
|
||||||
@@ -304,7 +303,6 @@ type QueryStats struct {
|
|||||||
AppName string
|
AppName string
|
||||||
Client string
|
Client string
|
||||||
User string
|
User string
|
||||||
Database string
|
|
||||||
Comments string
|
Comments string
|
||||||
|
|
||||||
LGlobalAcquireCountRShared int
|
LGlobalAcquireCountRShared int
|
||||||
@@ -338,7 +336,6 @@ func countersToStats(query QueryInfoAndCounters, uptime int64, tc totalCounters)
|
|||||||
Query: query.Query,
|
Query: query.Query,
|
||||||
Fingerprint: query.Fingerprint,
|
Fingerprint: query.Fingerprint,
|
||||||
Scanned: calcStats(query.NScanned),
|
Scanned: calcStats(query.NScanned),
|
||||||
DocsExamined: calcStats(query.DocsExamined),
|
|
||||||
Returned: calcStats(query.NReturned),
|
Returned: calcStats(query.NReturned),
|
||||||
QueryTime: calcStats(query.QueryTime),
|
QueryTime: calcStats(query.QueryTime),
|
||||||
ResponseLength: calcStats(query.ResponseLength),
|
ResponseLength: calcStats(query.ResponseLength),
|
||||||
@@ -346,6 +343,25 @@ func countersToStats(query QueryInfoAndCounters, uptime int64, tc totalCounters)
|
|||||||
LastSeen: query.LastSeen,
|
LastSeen: query.LastSeen,
|
||||||
Namespace: query.Namespace,
|
Namespace: query.Namespace,
|
||||||
QPS: float64(query.Count) / float64(uptime),
|
QPS: float64(query.Count) / float64(uptime),
|
||||||
|
PlanSummary: query.PlanSummary,
|
||||||
|
CollScanCount: query.CollScanCount,
|
||||||
|
CollScanSum: query.CollScanSum,
|
||||||
|
DocsExamined: calcStats(query.DocsExamined),
|
||||||
|
KeysExamined: calcStats(query.KeysExamined),
|
||||||
|
TimeStamp: query.TimeStamp,
|
||||||
|
QueryHash: query.QueryHash,
|
||||||
|
AppName: query.AppName,
|
||||||
|
Client: query.Client,
|
||||||
|
User: query.User,
|
||||||
|
Comments: query.Comments,
|
||||||
|
LGlobalAcquireCountRShared: query.LGlobalAcquireCountRShared,
|
||||||
|
LGlobalAcquireCountWShared: query.LGlobalAcquireCountWShared,
|
||||||
|
LDatabaseAcquireCountRShared: query.LDatabaseAcquireCountRShared,
|
||||||
|
LDatabaseAcquireWaitCountRShared: query.LDatabaseAcquireWaitCountRShared,
|
||||||
|
LDatabaseTimeAcquiringMicrosRShared: query.LDatabaseTimeAcquiringMicrosRShared,
|
||||||
|
LCollectionAcquireCountRShared: query.LCollectionAcquireCountRShared,
|
||||||
|
StorageBytesRead: query.StorageBytesRead,
|
||||||
|
StorageTimeReadingMicros: query.StorageTimeReadingMicros,
|
||||||
}
|
}
|
||||||
if tc.Scanned > 0 {
|
if tc.Scanned > 0 {
|
||||||
queryStats.Scanned.Pct = queryStats.Scanned.Total * 100 / tc.Scanned
|
queryStats.Scanned.Pct = queryStats.Scanned.Total * 100 / tc.Scanned
|
||||||
@@ -363,7 +379,10 @@ func countersToStats(query QueryInfoAndCounters, uptime int64, tc totalCounters)
|
|||||||
queryStats.Ratio = queryStats.Scanned.Total / queryStats.Returned.Total
|
queryStats.Ratio = queryStats.Scanned.Total / queryStats.Returned.Total
|
||||||
}
|
}
|
||||||
if queryStats.DocsExamined.Total > 0 {
|
if queryStats.DocsExamined.Total > 0 {
|
||||||
queryStats.DocsExamined.Pct = queryStats.DocsExamined.Total / queryStats.DocsExamined.Total
|
queryStats.DocsExamined.Pct = queryStats.DocsExamined.Total / tc.DocsExamined
|
||||||
|
}
|
||||||
|
if queryStats.KeysExamined.Total > 0 {
|
||||||
|
queryStats.KeysExamined.Pct = queryStats.KeysExamined.Total / tc.KeysExamined
|
||||||
}
|
}
|
||||||
|
|
||||||
return queryStats
|
return queryStats
|
||||||
@@ -378,6 +397,7 @@ func aggregateCounters(queries []QueryInfoAndCounters) QueryInfoAndCounters {
|
|||||||
qt.QueryTime = append(qt.QueryTime, query.QueryTime...)
|
qt.QueryTime = append(qt.QueryTime, query.QueryTime...)
|
||||||
qt.ResponseLength = append(qt.ResponseLength, query.ResponseLength...)
|
qt.ResponseLength = append(qt.ResponseLength, query.ResponseLength...)
|
||||||
qt.DocsExamined = append(qt.DocsExamined, query.DocsExamined...)
|
qt.DocsExamined = append(qt.DocsExamined, query.DocsExamined...)
|
||||||
|
qt.KeysExamined = append(qt.KeysExamined, query.KeysExamined...)
|
||||||
}
|
}
|
||||||
return qt
|
return qt
|
||||||
}
|
}
|
||||||
@@ -402,6 +422,9 @@ func calcTotalCounters(queries []QueryInfoAndCounters) totalCounters {
|
|||||||
|
|
||||||
docsExamined, _ := stats.Sum(query.DocsExamined)
|
docsExamined, _ := stats.Sum(query.DocsExamined)
|
||||||
tc.DocsExamined += docsExamined
|
tc.DocsExamined += docsExamined
|
||||||
|
|
||||||
|
keysExamined, _ := stats.Sum(query.KeysExamined)
|
||||||
|
tc.KeysExamined += keysExamined
|
||||||
}
|
}
|
||||||
return tc
|
return tc
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user