Michael Lange
c68962078a
Replace the adapter cancellation methods with a cancellation token system
2019-05-20 10:29:22 -07:00
Conor Mongey
aa4c1288f3
Return a htmlSafe string rather than use triple curlies
2019-05-02 21:47:24 +01:00
Conor Mongey
d2323e0cb8
Converts ANSI terminal codes to HTML in logs
2019-05-02 21:47:23 +01:00
Michael Lange
f6232f1817
ES5 getters codemod
2019-04-10 14:54:36 -07:00
Michael Lange
e74873f9c1
Address the Ember.Logger deprecations
2019-04-10 14:54:35 -07:00
Michael Lange
c95821e84e
Make your tests orders of magnitude faster with One Neat Trick™
2018-11-06 16:17:21 -08:00
Michael Lange
9f98029898
Gracefully handle response errors in stat trackers
...
1. Check if the response is a 4xx/5xx
2. If it is, skip the append step and track a frame miss
3. If enough frame misses occur in a row, treat it as a pause
A "pause" is when a null data frame is added, which shows up as a
gap in line charts.
2018-11-01 22:08:57 -07:00
Michael Lange
4d5fa15ea7
Remove no longer used allocation-stats class
2018-09-26 10:59:26 -07:00
Michael Lange
47ec74eb3a
Update stat tracker unit tests
2018-09-19 19:30:18 -07:00
Michael Lange
866f650de8
Acceptance test coverage for all the pages with resource utilization graphs
2018-09-19 16:33:51 -07:00
Michael Lange
01195a810c
Unit tests for the stats trackers service
2018-09-19 15:33:29 -07:00
Michael Lange
8de545c1b7
Add cancelation support to stats trackers
2018-09-17 16:59:09 -07:00
Michael Lange
f0208c0a24
Add request throttling to the abstract stats tracker
...
This is the best of three options
1. Users of stats trackers control polling (old method)
2. Stat tracker is stateful and has start/stop methods (like logging)
3. Stat trackers blindly throttle requests
This is the best option because it means N number of concurrent users of
a stats tracker can request polling without inundating the tracker with
redundant frames (or the network with redundant requests), but they also
don't have to coordinate amongst themselves to determine what state a
tracker should be in.
2018-09-17 15:58:28 -07:00
Michael Lange
f84b145401
Use the appropriate methods and types in the stat trackers
2018-09-14 10:21:01 -07:00
Michael Lange
adc05976c2
Use the prototype instead of "private" property backups
2018-09-14 09:38:17 -07:00
Michael Lange
9a102b73b9
Make rollingArray work with mutable array extension methods
2018-09-14 08:57:26 -07:00
Michael Lange
48910d8334
New primary-metric component
...
It encapsulates all the tracker, polling, and markup for this style
of metric.
2018-09-13 17:01:24 -07:00
Michael Lange
4cd9164d4e
Use addObject to get kvo behaviors
2018-09-13 17:01:24 -07:00
Michael Lange
c455a399dd
A StatsTracker for client-level statistics
2018-08-31 14:39:23 -07:00
Michael Lange
405cf822d8
Unit Tests for AllocationStatsTracker
2018-08-31 14:39:22 -07:00
Michael Lange
d25c0d60b9
Unit tests for RollingArray
2018-08-31 14:39:22 -07:00
Michael Lange
1df44a6d08
An implementation of StatsTracker for allocations
...
It accumulates CPU and Memory usage for the allocation as a whole as well
as by task.
2018-08-31 14:39:22 -07:00
Michael Lange
5c5e44df61
An abstract class for capturing nomad stats
...
It follows the form of poll -> json parse -> append,
Where append is defined in subclasses to add data from the new frame
to long-lived rolling arrays of data.
2018-08-31 14:39:22 -07:00
Michael Lange
a8480fab30
An array subclass that enforces a maxLength
...
The maxLength is enforced by removing elements from the head of the
list.
2018-08-31 14:39:22 -07:00
Michael Lange
f50aff562c
Treat filtering on an async relationship as async
2018-08-06 11:02:21 -07:00
Michael Lange
90ea4f0f21
Update all the awkward browserify imports to plain ol' es6 imports
2018-07-06 13:38:57 -07:00
Michael Lange
65adc3857f
The stream logger should not be supported in Safari
...
Not until the bugs around https are worked out.
2018-05-24 18:16:43 -07:00
Michael Lange
ab49b7a235
The poll logger needs to handle empty frames.
2018-05-24 18:16:42 -07:00
Michael Lange
286b3d9671
Refactor the way allocation stats are fetched
...
No longer treat it as a property for relationship, just ephemeral
data that can be fetched on demand.
2018-03-22 14:34:13 -07:00
Michael Lange
54b1101989
QueryParams primitive ported with a helper
...
This QueryParams object is defined in Ember source, but it isn't
public, which means there is no out of the box way to construct
the query params arg for LinkTo in JavaScript
2018-03-13 16:34:01 -07:00
Michael Lange
5346f653a5
Fallback to using the nomad server for log streaming
...
Only when the client isn't accessible
2018-02-26 12:23:47 -08:00
Michael Lange
2e19c2d877
Use the new ember modules imports
...
Generated with a codemode:
https://github.com/ember-cli/ember-modules-codemod
2018-01-17 09:02:04 -08:00
Michael Lange
d53849d2a5
Disambiguate what to do with the child task for the task logger
...
linked tasks are killed when the parent task is killed.
2018-01-17 09:02:04 -08:00
Michael Lange
981c34ba84
Explain the magical logging constant
2017-11-21 15:05:28 -08:00
Michael Lange
cca4bc94e0
Move the stream support check to the stream logger
2017-11-21 14:57:19 -08:00
Michael Lange
bc3f02b227
Use the b64 log format to track offsets for pause/play support
2017-11-21 11:22:42 -08:00
Michael Lange
6447785861
Use offset numbers in the polling mechanism
2017-11-21 11:22:42 -08:00
Michael Lange
0dce1ec659
Integration tests for the task-log component
2017-11-21 11:22:42 -08:00
Michael Lange
20ac6c07df
Move logging logic from the controller to a component
2017-11-21 11:22:42 -08:00
Michael Lange
5735fca9cf
Log class for interfacing with log APIs
...
Supports:
- Reading the head of a log
- Reading the tail of a log
- Following a log in one of two ways:
- Streaming the HTTP request (using fetch res.getReader)
- Polling the log endpoint (using EC timeouts)
2017-11-21 11:22:41 -08:00
Michael Lange
0d299b60df
Provides a slim TextDecoder polyfill for Edge
2017-11-21 11:22:41 -08:00
Alex Dadgar
ddc2efa4ac
sync
2017-09-19 10:08:23 -05:00