I looked through the past few days of Circle Go failures, and they all
appeared to be real test errors, indicating that the -p=8 flag most
likely fixed the linker OOMs we were seeing.
If the race-enabled tests continue to OOM, we can try setting -p=2 to
match the number of CPUs actually available on our Circle container.
Prior to this change, `go test -count=2 ./models` would fail like:
--- FAIL: TestMarshal (0.00s)
points_test.go:37: got: ,A\ FOO=bar,APPLE=orange,host=serverA,region=uswest
points_test.go:38: exp: ,apple=orange,foo=bar,host=serverA,region=uswest
points_test.go:39: invalid match
because a later test reassigned the package-level variable that
TestMarshal depends on. Don't reassign that variable anymore.
Also cleaned up some whitespace, and moved an init function to the top
of the file for visibility.
This ports the `Dygraph` component from Chronograf 1.7, which contains
many bug fixes and enhancements. Notably, it does not quadruple render
on every mouse move event.
The component has been adapter for platform. All code relating to
annotations and the static legend has been removed.
The `hoverTime` state updates very rapidly (on every mousemove event for
any graph in a dashboard). This makes storing the `hoverTime` in Redux
expensive, since _every_ Redux-connected component in the render tree
must rerender when any piece of state in the Redux store is updated.
This commit moves `hoverTime` (and `activeViewID`, and related setters)
out of the Redux store in favor of a context based solution. Now, when
the `hoverTime` updates, only components that actually use that state
will rerender.
Previously, a v1 source was configured with a `URL` and `fluxURL`. The
`URL` was used for querying InfluxQL data, while the `fluxURL` pointed
to a `fluxd` instance and was used for querying Flux data. Since then,
`fluxd` has been subsumed by the InfluxDB 1.7 release, which supports
both InfluxQL and Flux.
This commit updates the source proxy query service to query Flux data
from a V1 source directly.
We were passing a non-nil tsm1.Log containing a nil *tsm1.WAL which
would cause a panic when it was attempted to be used. Instead, always
pass a non-nil WAL.
We change the storage engine code to not pass in a nil WAL, and
additionally add a defensive check to change any nil WALs into a
NopWAL.
* Rename AutoRefresh to AutoRefresher, rename global
* Remove presentational states from TimeSeries component
* Simplify TimeSeries reload logic
* Remove unused props from RefreshingView
* Display loading errors in RefreshingView
* chore(views): extract non-visualization state and switching logic into components
- Add some documentation.
- Move compaction planner to an option instead of config.
The latter fits with the general theme of having config be things
that can be specified in a toml, and everything else being an
option.
Replaces the utility function used to execute a Flux query with the
version from the 1.7 release of Chronograf, which supports limiting the
response size of a query to a predefined row limit.
Also removes the existing minimal support for template variables in
queries. Our implementation of template variables will need to change
significantly, since the backend API has been rewritten in an
imcompatible manner. Additionally, our support for template variables in
Flux queries has evolved significantly in the 1.7 release of Chronograf,
but none of those changes have been ported to platform yet.
As a consequence, the drilling of a `templates` prop through a certain
path in the render tree has also been removed.
Deletes unused and outdated code, including and AST walker for Flux
queries and various Flux metaquery utilites.
Also moves the remaining modules in `src/flux` to somewhere under
`src/shared`. The `src/flux` directory was a vestige of a time when the
Flux related portions of Chronograf were contained to a single page, but
now these modules are used everywhere.