* build(webpack): add source maps for @influxdata/giraffe prod builds
We were getting runtime errors in the prod builds via honeybadger.
They were unreadable because we did not have source maps for giraffe.
We were only able to get this working for prod builds but not dev
despite trying putting it in the webpack common file. This is good
'nuff for our purpose now, but maybe we'll need further investigation.
Bonus commit... I added a new make target of influxd so I would not
need to type so much.
Co-authored-by: Andrew Watkins <watts@influxdb.com>
* build(webpack): add clockface source maps to production build
Co-authored-by: Andrew Watkins <watts@influxdb.com>
* refactor(ui): move QuestionMarkTooltip into shared folder
* refactor(ui): delete unused component
* refactor(ui): allow QuestionMarkTooltip to wrap other elements
* refactor(ui): Add question mark tooltips to alerting column headers
* refactor(ui): color code buttons to indicate importance and grouping
* refactor(ui): swap order of endpoints and rules columns
* refactor(ui): show "first time" widget when no alerting resources exist
* refactor(ui): update alerting empty copy
* refactor(ui): ensure onboarding tooltips are using the correct prop names
* refactor(ui): remove tests for tooltips in admin step
These should be handled by Clockface instead
* refactor(ui): fix affected e2e test
* chore(ui): update changelog
* refactor(ui): wrap entire UI in Clockface AppWrapper
* refactor(ui): create utility for ensuring consistent page titles
* refactor(ui): update settings and load data icons in nav
* refcator(ui): simplify templates page
* refactor(ui): ensure unauthenticated pages are wrapped in AppWrapper
* refactor(ui): replace all instances of local Page with clockface Page
* refactor(ui): move control of presentation mode to AppWrapper
* refactor(ui): delete local Page components
* refactor(ui): ensure that onboarding pages are visible
* refactor(ui): remove unused "Account" page
* refactor(ui): appease linter gods
* refactor(ui): ensure alerting index fills height of page
* refactor(ui): fix padding in time machine view
fix(notification/rule): add overlap to windows so that state changes works
Since stateChanges cannot detect a state change for the initial point,
returned, we generate a task that queries for more data than required
and filters out records that are before the every. This way we will not
miss state changes that take place on the initial value.
fix(notification/rule): prevent union of tables for single status rule
fix(testing): add status rules to notifications
When a task is told to execute it can be enqueued waiting for a worker.
This statistic will be superior to the existing delta based on scheduled for,
the current system can be effected by a user having slow queries or a long "delay" on the task.
This new way of measuring the same thing should allow us to accuratly measure when it is the task system's fault.
Previously the TSI partition would panic if a compaction was
started while `Wait()` was waiting. This commit removes the previous
wait group and replaces it with a simple counter. The `Wait()`
function now polls the counter until it reaches zero.
The cache is essentially a set of maps, where a key in each map is a
series key, and the value is a slice of values associated with that key.
The cache is sharded and series keys are hashed to determine which shard
(map) they live in.
When deleting from the cache we have to check each key to see if it
matches the delete command (predicate and timestamp). If it does then
the entries for that range are removed. As part of this work we check if
the entries are already empty (already removed) and if so we don't check
if the key is valid.
This involved a lot of mutex grabbing, which has now been replaced with
atomic operations.
Benchmarking this commit against the previous commit in this branch
shows a 9% improvement:
name old time/op new time/op delta
Engine_DeletePrefixRange_Cache/exists-24 113ms ± 8% 102ms ±11% -9.40% (p=0.000 n=10+10)
Engine_DeletePrefixRange_Cache/not_exists-24 95.6ms ± 2% 97.1ms ± 4% ~ (p=0.089 n=10+10)
name old alloc/op new alloc/op delta
Engine_DeletePrefixRange_Cache/exists-24 29.6MB ± 1% 25.5MB ± 1% -13.71% (p=0.000 n=10+10)
Engine_DeletePrefixRange_Cache/not_exists-24 24.3MB ± 2% 23.9MB ± 1% -1.48% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
Engine_DeletePrefixRange_Cache/exists-24 334k ± 0% 305k ± 1% -8.67% (p=0.000 n=8+10)
Engine_DeletePrefixRange_Cache/not_exists-24 302k ± 1% 299k ± 1% -1.25% (p=0.000 n=10+9)
Raw benchmarks on a 24T / 32GB / NVME machine:
goos: linux
goarch: amd64
pkg: github.com/influxdata/influxdb/tsdb/tsm1
BenchmarkEngine_DeletePrefixRange_Cache/exists-24 200 91035525 ns/op 25557809 B/op 305258 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/exists-24 200 99416796 ns/op 25385052 B/op 303584 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/exists-24 100 100149484 ns/op 25570062 B/op 305761 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/exists-24 100 100222516 ns/op 25474372 B/op 303089 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/exists-24 200 101868258 ns/op 25531572 B/op 304736 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/exists-24 100 106268683 ns/op 25648213 B/op 306768 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/exists-24 100 102905477 ns/op 25572314 B/op 305798 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/exists-24 100 108742857 ns/op 25483068 B/op 304788 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/exists-24 100 103292149 ns/op 25401388 B/op 303401 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/exists-24 100 107178026 ns/op 25573602 B/op 305821 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/not_exists-24 200 95082692 ns/op 23942491 B/op 299116 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/not_exists-24 200 96088487 ns/op 23957028 B/op 298545 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/not_exists-24 200 94279165 ns/op 23620981 B/op 294536 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/not_exists-24 200 94509000 ns/op 23989593 B/op 299453 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/not_exists-24 200 98530062 ns/op 23935846 B/op 299237 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/not_exists-24 200 98008093 ns/op 23821683 B/op 297875 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/not_exists-24 200 97603172 ns/op 23878336 B/op 298350 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/not_exists-24 200 96867920 ns/op 23782588 B/op 296236 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/not_exists-24 200 99148908 ns/op 23997702 B/op 299277 allocs/op
BenchmarkEngine_DeletePrefixRange_Cache/not_exists-24 100 100866840 ns/op 24019916 B/op 300339 allocs/op
PASS
ok github.com/influxdata/influxdb/tsdb/tsm1 1144.213s
* refactor(ui): expose bucket options as buttons instead of context menu
* chore(ui): update changelog
* refactor(ui): increase distance between bucket options and meta line
* WIP
* Fix UI linter errors from swagger changes to Level Rule
* Prevent same level selection on changes from
* Remove unused get
* Fix prettier error
* chore(notification/rule): change level rule to check level for rules
If we are caching run's in the kv storage system it is possible to get
the the cached version from the kv store and the recently completed run
from the analytical store. We just need to only show analytical results if
we find a duplicate.
* feat(cardinality): Fetch cardinality limits and store in redux
* feat(cardinality): Add additional text for cardinality rate limit alerts
Co-authored-by: Chris Goller <goller@gmail.com>
* feat(cardinality): Add rate limit alert to load data pages when cardinality exceeded
Co-authored-by: Chris Goller <goller@gmail.com>
* fix(ui): Fix linter error
Co-authored-by: Chris Goller <goller@gmail.com>
* fix(fluxFunctions): fix movingAverage docs
* fix(fluxFunctions): fix typo in difference function
* fix(fluxFunctions): fix typo in histogramQuantile
* fix(fluxFunctions): fix type in increase
* fix(fluxFunctions): update increase function
* fix(fluxFunctions): fix type in quantile
* fix(fluxFunctions): fix typo in top function
* fix(fluxFunctions): change default bucket to telegraf
* fix(fluxFunctions): update example in set function
* fix(fluxFunctions): remove intervals function
* fix(fluxFunctions): update to function example
* fix(fluxFunctions): remove grouping from increase