in plugins/inputs/mysql/mysql.go [1066:1209]
func getColSlice(l int) ([]interface{}, error) {
// list of all possible column names
var (
user string
totalConnections int64
concurrentConnections int64
connectedTime int64
busyTime int64
cpuTime int64
bytesReceived int64
bytesSent int64
binlogBytesWritten int64
rowsRead int64
rowsSent int64
rowsDeleted int64
rowsInserted int64
rowsUpdated int64
selectCommands int64
updateCommands int64
otherCommands int64
commitTransactions int64
rollbackTransactions int64
deniedConnections int64
lostConnections int64
accessDenied int64
emptyQueries int64
totalSslConnections int64
maxStatementTimeExceeded int64
// maria specific
fbusyTime float64
fcpuTime float64
// percona specific
rowsFetched int64
tableRowsRead int64
)
switch l {
case 23: // maria5
return []interface{}{
&user,
&totalConnections,
&concurrentConnections,
&connectedTime,
&fbusyTime,
&fcpuTime,
&bytesReceived,
&bytesSent,
&binlogBytesWritten,
&rowsRead,
&rowsSent,
&rowsDeleted,
&rowsInserted,
&rowsUpdated,
&selectCommands,
&updateCommands,
&otherCommands,
&commitTransactions,
&rollbackTransactions,
&deniedConnections,
&lostConnections,
&accessDenied,
&emptyQueries,
}, nil
case 25: // maria10
return []interface{}{
&user,
&totalConnections,
&concurrentConnections,
&connectedTime,
&fbusyTime,
&fcpuTime,
&bytesReceived,
&bytesSent,
&binlogBytesWritten,
&rowsRead,
&rowsSent,
&rowsDeleted,
&rowsInserted,
&rowsUpdated,
&selectCommands,
&updateCommands,
&otherCommands,
&commitTransactions,
&rollbackTransactions,
&deniedConnections,
&lostConnections,
&accessDenied,
&emptyQueries,
&totalSslConnections,
&maxStatementTimeExceeded,
}, nil
case 21: // mysql 5.5
return []interface{}{
&user,
&totalConnections,
&concurrentConnections,
&connectedTime,
&busyTime,
&cpuTime,
&bytesReceived,
&bytesSent,
&binlogBytesWritten,
&rowsFetched,
&rowsUpdated,
&tableRowsRead,
&selectCommands,
&updateCommands,
&otherCommands,
&commitTransactions,
&rollbackTransactions,
&deniedConnections,
&lostConnections,
&accessDenied,
&emptyQueries,
}, nil
case 22: // percona
return []interface{}{
&user,
&totalConnections,
&concurrentConnections,
&connectedTime,
&busyTime,
&cpuTime,
&bytesReceived,
&bytesSent,
&binlogBytesWritten,
&rowsFetched,
&rowsUpdated,
&tableRowsRead,
&selectCommands,
&updateCommands,
&otherCommands,
&commitTransactions,
&rollbackTransactions,
&deniedConnections,
&lostConnections,
&accessDenied,
&emptyQueries,
&totalSslConnections,
}, nil
}
return nil, fmt.Errorf("not Supported - %d columns", l)
}