Michael Lange
290d967222
Fix a bug where tail calls for files weren't getting the correct params
2019-07-30 17:25:41 -07:00
Michael Lange
2a3806b4c1
Always escape < and > to avoid inadvertently rendering html
2019-07-30 17:22:54 -07:00
Michael Lange
bd8770d175
Add a plainText mode
2019-07-30 17:22:53 -07:00
Michael Lange
c3b33b8420
Use the stream decode util and never opt to use the plain query param
2019-07-30 17:22:45 -07:00
Michael Lange
c9220cb929
Replace the adapter cancellation methods with a cancellation token system
2019-05-20 10:29:22 -07:00
Conor Mongey
49afa42af3
Return a htmlSafe string rather than use triple curlies
2019-05-02 21:47:24 +01:00
Conor Mongey
9ab4ef52c0
Converts ANSI terminal codes to HTML in logs
2019-05-02 21:47:23 +01:00
Michael Lange
4736803a24
ES5 getters codemod
2019-04-10 14:54:36 -07:00
Michael Lange
346a55a093
Address the Ember.Logger deprecations
2019-04-10 14:54:35 -07:00
Michael Lange
dbb9662dbe
Make your tests orders of magnitude faster with One Neat Trick™
2018-11-06 16:17:21 -08:00
Michael Lange
3d7d7310a1
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
5736b71f00
Remove no longer used allocation-stats class
2018-09-26 10:59:26 -07:00
Michael Lange
c694fcb0ba
Update stat tracker unit tests
2018-09-19 19:30:18 -07:00
Michael Lange
09497b20b8
Acceptance test coverage for all the pages with resource utilization graphs
2018-09-19 16:33:51 -07:00
Michael Lange
46936b6091
Unit tests for the stats trackers service
2018-09-19 15:33:29 -07:00
Michael Lange
c93f6506dc
Add cancelation support to stats trackers
2018-09-17 16:59:09 -07:00
Michael Lange
8900d5c138
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
636d0c92fc
Use the appropriate methods and types in the stat trackers
2018-09-14 10:21:01 -07:00
Michael Lange
6a94ebc5fb
Use the prototype instead of "private" property backups
2018-09-14 09:38:17 -07:00
Michael Lange
a2db921c1f
Make rollingArray work with mutable array extension methods
2018-09-14 08:57:26 -07:00
Michael Lange
768f67e336
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
7e431e8876
Use addObject to get kvo behaviors
2018-09-13 17:01:24 -07:00
Michael Lange
680ac6c9b0
A StatsTracker for client-level statistics
2018-08-31 14:39:23 -07:00
Michael Lange
3d761b7347
Unit Tests for AllocationStatsTracker
2018-08-31 14:39:22 -07:00
Michael Lange
416de6c32a
Unit tests for RollingArray
2018-08-31 14:39:22 -07:00
Michael Lange
da4852a6cd
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
e1e89ce92f
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
0c35f189e9
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
50794a7626
Treat filtering on an async relationship as async
2018-08-06 11:02:21 -07:00
Michael Lange
6e00633d77
Update all the awkward browserify imports to plain ol' es6 imports
2018-07-06 13:38:57 -07:00
Michael Lange
a3cb84c6ac
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
8cb96550c6
The poll logger needs to handle empty frames.
2018-05-24 18:16:42 -07:00
Michael Lange
6bf139d094
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
0d9b94ab10
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
dc72ac2bc7
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
1107798da6
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
9d505d1db0
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
e051b1f34b
Explain the magical logging constant
2017-11-21 15:05:28 -08:00
Michael Lange
73969cd6ab
Move the stream support check to the stream logger
2017-11-21 14:57:19 -08:00
Michael Lange
3e8e3880aa
Use the b64 log format to track offsets for pause/play support
2017-11-21 11:22:42 -08:00
Michael Lange
b3d53a3569
Use offset numbers in the polling mechanism
2017-11-21 11:22:42 -08:00
Michael Lange
061de462c6
Integration tests for the task-log component
2017-11-21 11:22:42 -08:00
Michael Lange
7c3f688ad6
Move logging logic from the controller to a component
2017-11-21 11:22:42 -08:00
Michael Lange
4293772203
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
52b81d8fa7
Provides a slim TextDecoder polyfill for Edge
2017-11-21 11:22:41 -08:00
Alex Dadgar
e5ec915ac3
sync
2017-09-19 10:08:23 -05:00