Merge branch 'master' into feature/time-cop
commit
6f6cde7179
|
@ -8,6 +8,7 @@
|
|||
1. [#2291](https://github.com/influxdata/chronograf/pull/2291): Fix several kapacitor alert creation panics.
|
||||
1. [#2303](https://github.com/influxdata/chronograf/pull/2303): Add shadow-utils to RPM release packages
|
||||
1. [#2292](https://github.com/influxdata/chronograf/pull/2292): Source extra command line options from defaults file
|
||||
1. [#2329](https://github.com/influxdata/chronograf/pull/2329): Include tag values alongside measurement name in Data Explorer result tabs
|
||||
|
||||
### Features
|
||||
1. [#2385](https://github.com/influxdata/chronograf/pull/2385): Add time shift feature to DataExplorer and Dashboards
|
||||
|
|
53
Makefile
53
Makefile
|
@ -23,42 +23,23 @@ ${BINARY}: $(SOURCES) .bindata .jsdep .godep
|
|||
go build -o ${BINARY} ${LDFLAGS} ./cmd/chronograf/main.go
|
||||
|
||||
define CHRONOGIRAFFE
|
||||
tLf iCf.
|
||||
.CCC. tCC:
|
||||
CGG; CGG:
|
||||
tG0Gt: GGGGGGGGGGGGGGGG1 .,:,
|
||||
LG1,,:1CC: .GGL;iLC1iii1LCi;GG1 .1GCL1iGG1
|
||||
LG1:::;i1CGGt;;;;;;L0t;;;;;;GGGC1;;::,iGC
|
||||
,ii:. 1GG1iiii;;tfiC;;;;;;;GGCfCGCGGC,
|
||||
fGCiiiiGi1Lt;;iCLL,i;;;CGt
|
||||
fGG11iiii1C1iiiiiGt1;;;;;CGf
|
||||
.GGLLL1i1CitfiiL1iCi;;iLCGGt
|
||||
.CGL11LGCCCCCCCLLCGG1;1GG;
|
||||
CGL1tf1111iiiiiiL1ifGG,
|
||||
LGCff1fCt1tCfiiCiCGC
|
||||
LGGf111111111iCGGt
|
||||
fGGGGGGGGGGGGGGi
|
||||
ifii111111itL
|
||||
;f1i11111iitf
|
||||
;f1iiiiiii1tf
|
||||
:fi111iii11tf
|
||||
:fi111ii1i1tf
|
||||
:f111111ii1tt
|
||||
,L111111ii1tt
|
||||
.Li1111i1111CCCCCCCCCCCCCCLt;
|
||||
L111ii11111ittttt1tttttittti1fC;
|
||||
f1111ii111i1ttttt1;iii1ittt1ttttCt.
|
||||
tt11ii111tti1ttt1tt1;11;;;;iitttifCCCL,
|
||||
11i1i11ttttti;1t1;;;ttt1;;ii;itti;L,;CCL
|
||||
;f;;;;1tttti;;ttti;;;;;;;;;;;1tt1ifi .CCi
|
||||
,L;itti;;;it;;;;;tt1;;;t1;;;;;;ii;t; :CC,
|
||||
L;;;;iti;;;;;;;;;;;;;;;;;;;;;;;i;L, ;CC.
|
||||
ti;;;iLLfffi;;;;;ittt11i;;;;;;;;;L tCCfff;
|
||||
it;;;;;;L,ti;;;;;1Ltttft1t;;;;;;1t ;CCCL;
|
||||
:f;;;;;;L.ti;;;;;tftttf1,f;;;;;;f: ;CC1:
|
||||
.L;;;;;;L.t1;;;;;tt111fi,f;;;;;;L.
|
||||
1Li;;iL1 :Ci;;;tL1i1fC, Lt;;;;Li
|
||||
.;tt; ifLt:;fLf; ;LCCt,
|
||||
.-. .-.
|
||||
| \/ |
|
||||
/, ,_ `'-.
|
||||
.-|\ /`\ '.
|
||||
.' 0/ | 0\ \_ `".
|
||||
.-' _,/ '--'.'|#''---'
|
||||
`--' | / \#
|
||||
| / \#
|
||||
\ ;|\ .\#
|
||||
|' ' // \ ::\#
|
||||
\ /` \ ':\#
|
||||
`"` \.. \#
|
||||
\::. \#
|
||||
\:: \#
|
||||
\' .:\#
|
||||
\ :::\#
|
||||
\ '::\#
|
||||
endef
|
||||
export CHRONOGIRAFFE
|
||||
chronogiraffe: ${BINARY}
|
||||
|
|
|
@ -167,7 +167,6 @@ func TestService_Queries(t *testing.T) {
|
|||
]
|
||||
}`))),
|
||||
want: `{"queries":[{"id":"82b60d37-251e-4afe-ac93-ca20a3642b11","query":"SELECT \"pingReq\" FROM :dbs:.\"monitor\".\"httpd\" WHERE time \u003e :dashboardTime: AND time \u003c :upperDashboardTime: GROUP BY :interval:","queryConfig":{"id":"82b60d37-251e-4afe-ac93-ca20a3642b11","database":"","measurement":"","retentionPolicy":"","fields":[],"tags":{},"groupBy":{"time":"","tags":[]},"areTagsAccepted":false,"rawText":"SELECT \"pingReq\" FROM :dbs:.\"monitor\".\"httpd\" WHERE time \u003e :dashboardTime: AND time \u003c :upperDashboardTime: GROUP BY :interval:","range":null,"shifts":[]},"queryTemplated":"SELECT \"pingReq\" FROM \"_internal\".\"monitor\".\"httpd\" WHERE time \u003e now() - 15m AND time \u003c now() GROUP BY time(2s)","tempVars":[{"tempVar":":upperDashboardTime:","values":[{"value":"now()","type":"constant","selected":true}]},{"tempVar":":dashboardTime:","values":[{"value":"now() - 15m","type":"constant","selected":true}]},{"tempVar":":dbs:","values":[{"value":"_internal","type":"database","selected":true}]},{"tempVar":":interval:","values":[{"value":"1000","type":"resolution","selected":false},{"value":"3","type":"pointsPerPixel","selected":false}]}]}]}
|
||||
`,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
|
|
|
@ -88,7 +88,14 @@ class ChronoTable extends Component {
|
|||
)
|
||||
}
|
||||
|
||||
makeTabName = ({name, tags}) => (tags ? `${name}.${tags[name]}` : name)
|
||||
makeTabName = ({name, tags}) => {
|
||||
if (!tags) {
|
||||
return name
|
||||
}
|
||||
const tagKeys = Object.keys(tags).sort()
|
||||
const tagValues = tagKeys.map(key => tags[key]).join('.')
|
||||
return `${name}.${tagValues}`
|
||||
}
|
||||
|
||||
render() {
|
||||
const {containerWidth, height, query} = this.props
|
||||
|
@ -135,9 +142,13 @@ class ChronoTable extends Component {
|
|||
</div>
|
||||
: <Dropdown
|
||||
className="dropdown-160 table--tabs-dropdown"
|
||||
items={series.map((s, index) => ({...s, text: s.name, index}))}
|
||||
items={series.map((s, index) => ({
|
||||
...s,
|
||||
text: this.makeTabName(s),
|
||||
index,
|
||||
}))}
|
||||
onChoose={this.handleClickDropdown}
|
||||
selected={series[activeSeriesIndex].name}
|
||||
selected={this.makeTabName(series[activeSeriesIndex])}
|
||||
buttonSize="btn-xs"
|
||||
/>}
|
||||
<div className="table--tabs-content">
|
||||
|
|
|
@ -138,7 +138,7 @@ $graph-gutter: 16px;
|
|||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
margin: 0;
|
||||
text-align: left;
|
||||
text-align: center;
|
||||
color: $g8-storm;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue