hunterlong 2020-03-21 21:56:07 -07:00
parent 4327569bac
commit b4a7eebe90
8 changed files with 16 additions and 11 deletions

2
CHANGELOG.md Normal file
View File

@ -0,0 +1,2 @@
# 0.90.12
- Fixed MySQL timestamp formatting. (issue #432)

View File

@ -51,7 +51,7 @@ var (
ByAverage = func(column string, multiplier int) By {
switch database.DbType() {
case "mysql":
return By(fmt.Sprintf("CAST(AVG(%s) as UNSIGNED) as amount", column))
return By(fmt.Sprintf("CAST(AVG(%s) as UNSIGNED INT) as amount", column))
case "postgres":
return By(fmt.Sprintf("cast(AVG(%s) as int) as amount", column))
default:
@ -71,7 +71,6 @@ func (t *TimeVar) ToValues() ([]*TimeValue, error) {
// GraphData will return all hits or failures
func (g *GroupQuery) GraphData(by By) ([]*TimeValue, error) {
dbQuery := g.db.MultipleSelects(
g.db.SelectByTime(g.Group),
by.String(),
@ -98,16 +97,18 @@ func (g *GroupQuery) ToTimeValue() (*TimeVar, error) {
var data []*TimeValue
for rows.Next() {
var timeframe string
amount := int64(0)
var amount int64
if err := rows.Scan(&timeframe, &amount); err != nil {
log.Error(err, timeframe)
}
trueTime, _ := g.db.ParseTime(timeframe)
newTs := types.FixedTime(trueTime, g.Group)
data = append(data, &TimeValue{
tv := &TimeValue{
Timeframe: newTs,
Amount: amount,
})
}
data = append(data, tv)
}
return &TimeVar{g, data}, nil
}

View File

@ -14,7 +14,7 @@ import (
var (
log = utils.Log
removeRowsAfter = types.Month * 6
removeRowsAfter = types.Day * 90
maintenceDuration = types.Hour
)

View File

@ -11,7 +11,7 @@ type TimeGroup interface {
func (it *Db) ParseTime(t string) (time.Time, error) {
switch it.Type {
case "mysql":
return time.Parse("2006-01-02 15:04:05", t)
return time.Parse("2006-01-02T15:04:05Z", t)
case "postgres":
return time.Parse("2006-01-02T15:04:05Z", t)
default:
@ -31,7 +31,7 @@ func (it *Db) FormatTime(t time.Time) string {
}
func (it *Db) SelectByTime(increment time.Duration) string {
seconds := int(increment.Seconds())
seconds := int64(increment.Seconds())
switch it.Type {
case "mysql":
return fmt.Sprintf("FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(created_at) / %d) * %d) AS timeframe", seconds, seconds)

View File

@ -8,6 +8,8 @@ services:
- 80:80
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
- statping
# statping_dev:
# container_name: statping_dev

View File

@ -170,7 +170,7 @@
methods: {
async chartHits(group) {
const start = this.nowSubtract(84600 * 3)
this.data = await Api.service_hits(this.service.id, this.toUnix(start), this.toUnix(new Date()), group, true)
this.data = await Api.service_hits(this.service.id, this.toUnix(start), this.toUnix(new Date()), group, false)
if (this.data.length === 0 && group !== "1h") {
await this.chartHits("1h")

View File

@ -17,7 +17,7 @@ class Graphing {
}
async hits(service, days, group='24h') {
const query = await API.service_hits(service.id, this.subtract(86400 * days), this.now(), group)
const query = await API.service_hits(service.id, this.subtract(86400 * days), this.now(), group, false)
let total = 0;
let high = 0;
let low = 99999999;

View File

@ -1 +1 @@
0.90.11
0.90.12