Jakob Ackermann
90ad28c51c
[misc] drop support for redis-sentinel
2020-11-09 15:59:28 +00:00
Jakob Ackermann
2d1c84ea2e
[misc] fix collection of open sockets
...
```
> require('http').globalAgent.sockets
{ 'HOST:PORT:': [{ ... }, { ... }] }
```
- `new URL('http://HOST:PORT :')` throws
-> test suite `open_sockets`
- gauges were not cleaned up after no agents were present for a given
key. This lead to continuous emission of the previous connection
count for a given hostname, following the completion of all requests.
-> test suite `when all requests complete`
2020-11-06 15:16:14 +00:00
Eric Mc Sween
142d9a5716
3.4.0
2020-10-30 07:39:47 -04:00
Eric Mc Sween
20b3d5070c
Export a configured prom-client
...
Metrics.initialize() and Metrics.configure() will configure the default
Prometheus registry with default "app" and "host" labels. The configured
prom-client module is available as Metrics.prom.
2020-10-29 09:49:55 -04:00
Christopher Hoskin
725478d95f
Release 3.3.0
2020-10-27 14:02:21 +00:00
Christopher Hoskin
f874291998
Bump google-cloud trace-agent, debug-agent and profiler to latest
2020-10-26 17:40:18 +00:00
Christopher Hoskin
d4a649353f
Commit package-lock.json
2020-10-26 17:33:43 +00:00
Christopher Hoskin
fedc3191b8
Bump node to 10.19
2020-10-26 17:33:24 +00:00
Eric Mc Sween
0fdfa706f7
Make 404 error handling on deletes more specific
...
The GCS persistor error handler ignores 404 errors on deletes. However,
the net is too wide cast, and 404 errors coming from the dual-bucket
lifecycle mechanism are also ignored.
2020-10-15 10:35:52 -04:00
Simon Detheridge
60931b86c3
Don't try to delete files if none are found in a directory
2020-10-13 09:53:19 +01:00
John Lees-Miller
9b739f1c7d
Bump version to 3.1.0
2020-09-25 16:10:12 +01:00
Eric Mc Sween
9089d332ab
Add a "unsignedUrls" option to the GCS persistor
...
This boolean option disables URL signing. Instead, getRedirectUrl()
returns the plain GCS download URL.
2020-09-22 15:59:13 -04:00
Eric Mc Sween
0fdbb2dcc0
Add .npmignore to avoid publishing config files
2020-09-17 10:44:24 -04:00
Eric Mc Sween
bd1a1dbabf
3.2.1
2020-09-17 10:40:34 -04:00
Eric Mc Sween
2f35db4087
Fix startup crash
...
Version 3.2.0 crashes on startup because it calls buildPromKey() without
arguments. To avoid this kind of obvious bug to happen again, I added
some basic acceptance tests.
2020-09-17 10:30:25 -04:00
John Lees-Miller
258cc08717
Add a limit on the number of tags, OError.maxTags ( #13 )
...
* Add OError.maxTags
* Tidy up package scripts and add a build script
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
2020-09-17 15:17:44 +01:00
Eric Mc Sween
c413f4d8a4
Fixed some function names in the docs
2020-09-15 16:13:58 -04:00
Eric Mc Sween
ec0441bc89
3.2.0
2020-09-15 08:37:05 -04:00
Eric Mc Sween
c05bd83e24
Add a separate configure() method
...
configure() sets options in the metrics module, but does not start the
default metrics collectors and the profiling agents.
2020-09-15 08:36:03 -04:00
Eric Mc Sween
3c9c17c22f
Remove "using prometheus" log
...
We now always use prometheus
2020-09-11 15:59:38 -04:00
Eric Mc Sween
6f69fb4869
Decaf cleanup: move functions to top level
2020-09-11 15:59:38 -04:00
Eric Mc Sween
afecfd5212
Decaf cleanup: use default parameters
2020-09-11 15:59:38 -04:00
Eric Mc Sween
d7e4b3fe33
Decaf cleanup: unnecessary returns
2020-09-11 15:59:38 -04:00
Eric Mc Sween
6c020f6e54
Decaf cleanup: remove Array.from()
2020-09-11 15:59:38 -04:00
Eric Mc Sween
971a768c4e
Install prettier and eslint
2020-09-11 15:59:33 -04:00
John Lees-Miller
ea2d76de51
Improve tagging for a (maybe) null error ( #12 )
...
* Document a way of handling an error that might be null
* Make typecheck strict
* Test some edge cases
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
2020-09-11 10:05:54 +01:00
Brian Gough
c530422f1e
update package version to 3.1.0
2020-09-04 15:52:05 +01:00
Jakob Ackermann
71ba4150fe
[misc] enable compression for the /metrics route
2020-09-04 15:32:48 +01:00
Brian Gough
b6b65b9638
Merge pull request #39 from overleaf/jpa-res-headers-public-api
...
[http] use public node api for getting the response content-length
2020-09-04 14:52:20 +01:00
Eric Mc Sween
967dde280e
Disable auto-decompression in GCS persistor
...
The GCS library automatically decompresses files with Content-encoding:
gzip. This is very useful, but the S3 library doesn't do that, so we
need to disable the feature in GCS so that it behaves the same way other
persistors behave.
2020-08-18 16:04:54 -04:00
Jakob Ackermann
6f4829e817
[misc] fix module importing
2020-08-17 14:43:08 +01:00
Jakob Ackermann
37fda043d4
[http] use public node api for getting the response content-length
2020-08-17 11:59:18 +01:00
Christopher Hoskin
a66708a319
Ignore error
2020-08-11 10:56:51 +01:00
Christopher Hoskin
8649277c9f
Format:fix
2020-08-11 10:55:03 +01:00
Christopher Hoskin
ea502a0623
Put LoggingManager.initialize back as it was in tests
2020-08-11 10:52:53 +01:00
Christopher Hoskin
20f2e1eb1d
Don't catch checkLogLevel
2020-08-11 10:48:44 +01:00
Christopher Hoskin
9b21292b44
Ensure fetchResponse.text is a string in sinon stub
2020-08-11 10:47:31 +01:00
Christopher Hoskin
46b22b30c7
Fix test description
2020-08-11 09:46:52 +01:00
Christopher Hoskin
3a2ff4e7b5
Merge branch 'master' into csh-metadata-fallback-node-fetch
2020-08-11 09:44:28 +01:00
Simon Detheridge
1115e1a1e6
Add default parameter for 'opts' in MigrationPersistor.getObjectStream
2020-08-10 16:44:37 +01:00
Brian Gough
e5747fefd2
remove package-lock.json (not needed for library)
2020-08-06 14:52:07 +01:00
Brian Gough
5b39d49358
use scoped package name @overleaf/metrics
2020-08-05 11:27:56 +01:00
Jakob Ackermann
397d5c8f1f
[misc] fix prettier-eslint glob for real -- include tests
2020-07-31 13:26:28 +01:00
Christopher Hoskin
e32411eaaa
Clean up acceptance tests
2020-07-30 15:23:04 +01:00
Christopher Hoskin
57ef07dc67
lint and format
2020-07-30 15:08:22 +01:00
Christopher Hoskin
8376cf1ca2
Get acceptance tests working
2020-07-30 15:06:32 +01:00
Christopher Hoskin
6917847b10
catch
2020-07-30 14:45:49 +01:00
Christopher Hoskin
74e2a5eaa1
WIP
2020-07-30 13:53:48 +01:00
Christopher Hoskin
1ca6269aa5
Bump version to 2.2.0
2020-07-24 12:18:33 +01:00
Christopher Hoskin
d42bd2da50
Tidy up
2020-07-24 12:17:31 +01:00
Christopher Hoskin
6bc0d15d78
LOG_LEVEL_SOURCE env taking values file, gce_metadata or none, default file
2020-07-24 11:59:23 +01:00
Christopher Hoskin
0a15fedb34
Remove debug logs
2020-07-24 09:12:59 +01:00
Christopher Hoskin
02356c7f27
All logging manager tests working
2020-07-24 09:12:59 +01:00
Christopher Hoskin
6961f41488
Promisfy log level checks
2020-07-24 09:12:59 +01:00
Christopher Hoskin
6b8dd86a26
WIP
2020-07-24 09:12:59 +01:00
Christopher Hoskin
14bac39222
Add MOCHA_GREP for testing
2020-07-24 09:12:59 +01:00
Christopher Hoskin
40a08bebdb
WIP
2020-07-24 09:12:59 +01:00
Christopher Hoskin
50d2856841
Re-instate metadata request as fallback for CLSI
2020-07-24 09:12:59 +01:00
Simon Detheridge
8037208800
Bump dependency versions
2020-07-23 10:33:01 +01:00
dependabot[bot]
98e4444585
Bump lodash from 4.17.15 to 4.17.19
...
Bumps [lodash](https://github.com/lodash/lodash ) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases )
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-07-18 15:48:52 +00:00
dependabot[bot]
2c088b3d20
Bump lodash from 4.17.15 to 4.17.19
...
Bumps [lodash](https://github.com/lodash/lodash ) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases )
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-07-17 17:09:14 +00:00
Brian Gough
d415ae0cbe
remove gruntfile
2020-07-17 16:23:01 +01:00
Brian Gough
a0f856cff2
fix tests
2020-07-17 16:17:18 +01:00
Brian Gough
747a80b545
decaffeinate
2020-07-17 16:01:58 +01:00
Brian Gough
e31a819636
remove statsd
2020-07-17 15:36:37 +01:00
Eric Mc Sween
6521837993
Add S3 options: httpOptions, maxRetries
2020-07-09 17:50:05 -04:00
Eric Mc Sween
3e7e4369af
Implement getRedirectUrl() for the S3 backend
2020-07-08 17:13:20 -04:00
Eric Mc Sween
523ff9c4cd
Support metadata when uploading objects
...
Add contentType and contentEncoding options to sendStream(). These
options will set the corresponding metadata on the object.
This changes the API. The fourth argument to sendStream() used to be the
source md5. Now, it's an options object and the source md5 is a property
of that object.
2020-07-08 08:13:53 -04:00
Simon Detheridge
990bacf3c2
Update to OError3
2020-07-07 10:40:37 +01:00
Eric Mc Sween
e197e4dc11
2.7.0
2020-07-06 08:20:02 -04:00
Eric Mc Sween
d69195eaa9
Log requests that don't have a route property
...
The v1 history service has its routes set up via swagger-tools, which
doesn't write a route property on the request. This prevents us to send
request metrics based on the route, but we can still log the request.
2020-07-03 16:38:29 -04:00
Simon Detheridge
7369e2f339
Add .circleci/config.yml and fix errors
2020-07-03 11:59:34 +01:00
Simon Detheridge
e92b75a2f8
Create new module from overleaf/filestore persistors ( #1 )
...
* Create new module from overleaf/filestore persistors
* Convert persistors to ES6 classes with local settings
* Update README.md
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
* Update README.md
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
* Update .gitignore
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
* Switch to AGPL license
* Paginate S3 list-object results
* Remove S3 client caching
* Clean up S3 md5-verification mechanism
* Update README for recent changes
* Update README.md
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
* Remove package-lock
* Remove comment about FileHandler
* Add directory marker to FSPersistor.deleteDirectory
* Don't copy opts in GcsPersistor.getObjectStream
* Use Date.now instead of getTime
* Catch errors in migration persistor
* Check that settings.buckets exists
* Don't mutate options in ObserverStream constructor
* Update src/PersistorHelper.js
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
* Lint and format fixes
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
2020-07-02 14:19:45 +01:00
Jakob Ackermann
e61b1124bb
[misc] bump eslint to 7.3.1
2020-07-02 12:15:22 +01:00
Jakob Ackermann
97407980db
[misc] monkey patch prettier-eslint basepath
2020-07-02 12:12:07 +01:00
Christopher Hoskin
102c7524c9
Re-generate package-lock.json
2020-07-02 11:12:07 +01:00
Christopher Hoskin
db5084d30f
Updrade runtime dependencies
2020-07-02 11:08:10 +01:00
Christopher Hoskin
bcaee67a5c
Bump sinon and sandboxed-module
2020-07-02 11:04:21 +01:00
Christopher Hoskin
fcd4a60657
Make prettier
2020-07-02 11:01:23 +01:00
Christopher Hoskin
4c8d29af59
Update mocha and prettier
2020-07-02 11:00:28 +01:00
Christopher Hoskin
edbf7220df
2.1.1
2020-07-02 10:53:42 +01:00
Christopher Hoskin
d695a40a61
Lint
2020-07-02 10:51:37 +01:00
Christopher Hoskin
b932a8127b
Bump eslint plugins
2020-07-02 10:46:37 +01:00
Christopher Hoskin
52649c9d0b
2.1.0
2020-06-30 14:00:15 +01:00
Christopher Hoskin
fa8df5cc0b
Format:fix
2020-06-30 13:56:13 +01:00
Christopher Hoskin
9e54503d1b
Add prettier-eslint-cli to dev-dependencies
2020-06-30 13:55:24 +01:00
Christopher Hoskin
c93ee44879
Update acorn dependency (via eslint) https://github.com/advisories/GHSA-6chw-6frg-f759
2020-06-30 13:53:34 +01:00
Christopher Hoskin
9437266dcb
Merge branch 'master' into jpa-csh-tracing-end-time-from-fs
2020-06-19 11:41:15 +01:00
Miguel Serrano
12e3afb174
Bumped major version
2020-06-03 10:20:43 +02:00
Miguel Serrano
da0f2d5e75
Updated .nvmrc to latest LTS
2020-06-03 10:19:58 +02:00
Miguel Serrano
c602d536d2
updated OError to v3
2020-06-03 10:19:45 +02:00
Brian Gough
cd6e36d7dc
upgrade ioredis to 4.17.3
2020-06-01 09:11:57 +01:00
John Lees-Miller
6cc03cad0c
Add coverage
2020-05-15 17:18:01 +01:00
John Lees-Miller
c9d9982615
Update package.json metadata
2020-05-15 16:50:37 +01:00
Jakob Ackermann
5aad5db40f
[checkLogLevel] read the updated tracing end time from disk
2020-05-15 13:39:35 +02:00
John Lees-Miller
d2f47e69a8
Bump version to 3.0.0
2020-05-15 11:25:12 +01:00
John Lees-Miller
fd6ea2bb70
Add typescript types
2020-05-15 11:24:14 +01:00
John Lees-Miller
497f2a7936
Make tag check stricter and use a map
2020-05-15 11:07:08 +01:00
John Lees-Miller
4b0060f0b1
Remove HTTPErrors from v3
2020-05-15 10:45:08 +01:00
John Lees-Miller
90494fd75f
Fix demo require path
2020-05-15 10:36:00 +01:00
John Lees-Miller
8af22ae878
Improve assertion messages in test utility
2020-05-15 10:32:18 +01:00
John Lees-Miller
c44054a31b
Add cast for the fake TaggedError
2020-05-05 09:06:15 +01:00
John Lees-Miller
fc197630be
Avoid capturing stack trace twice
...
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
2020-05-05 09:02:11 +01:00
John Lees-Miller
6078aa963d
Add typecheck to CI
2020-04-30 10:29:23 +01:00
John Lees-Miller
f6eb185f84
Update README for v3
2020-04-30 10:29:23 +01:00
John Lees-Miller
09cd72d51c
Rework to favor tagging over wrapping
2020-04-29 21:08:58 +01:00
John Lees-Miller
1a38f4e4ff
Add typescript for type checking
2020-04-29 21:03:41 +01:00
John Lees-Miller
c46075aaab
Make constructor take only message and info
2020-04-17 15:45:08 +01:00
John Lees-Miller
c000bdc43c
Add standard and fix complaints
2020-04-17 10:59:27 +01:00
John Lees-Miller
4b903626b4
Apply linting rules
2020-04-17 09:14:35 +01:00
John Lees-Miller
f80753fe40
Add linting and formatting
2020-04-17 09:14:35 +01:00
John Lees-Miller
113c2cc5ec
Add CI badge
2020-04-17 09:13:04 +01:00
John Lees-Miller
ad6b25e2c1
Add .circleci/config.yml
2020-04-17 09:10:47 +01:00
Jakob Ackermann
ea767920fc
[misc] fix unit tests
2020-04-01 16:40:15 +02:00
Henry Oswald
264e549fc5
bump io redis to 4.16.1
2020-03-31 09:40:44 +01:00
Eric Mc Sween
8131c5ac91
2.6.2
2020-03-25 09:53:54 -04:00
Eric Mc Sween
ef7e3b0e7a
Fix HTTP request timing metrics
...
The conversion between high resolution time and milliseconds was
incorrect.
2020-03-25 09:39:21 -04:00
Jakob Ackermann
2137c7a42c
[misc] version bump to 1.9.1
2020-03-23 13:06:32 +01:00
Jakob Ackermann
b049331777
[misc] fix decaff cleanup for reportedToSentry
...
Previously it would bailout of the loop after processing ANY attribute.
REF: 6fe4dcbf32720282821d42140ab92593866e0772
2020-03-23 10:48:55 +01:00
Eric Mc Sween
a17843f3bf
2.6.1
2020-03-20 07:47:05 -04:00
Eric Mc Sween
25448bfef4
Downgrade all request logs to INFO
...
Commit 9056143fe36f1347a1ff985ef8592a1de7d798dd added logic to log
requests with different error levels depending on the status code. The
intention was to make the 5xx and 4xx requests stand out in Stackdriver.
Unfortunately, this also creates a lot of noise in Sentry since we log
the errors separately from the requests.
This commit brings back the former behaviour of logging all requests at
the INFO level. We can revisit this if we integrate the strategy
implemented in filestore of logging once per request.
2020-03-18 08:41:11 -04:00
Eric Mc Sween
62e82d7469
Send the status code with the HTTP request size metric
2020-03-12 06:24:46 -04:00
Eric Mc Sween
4a92be80ea
Send HTTP request size metric
...
The metric is a "summary" called http_request_size_bytes.
2020-03-11 16:39:49 -04:00
Brian Gough
03e81153db
avoid step effects in summary metrics
...
reduce the window size from 10 minutes to 1 minute, so that short
spikes do not cause a 10 minute long "table" graph.
2020-03-10 15:01:09 +00:00
Simon Detheridge
74c2afc12d
Bump package version
2020-03-04 10:31:12 +00:00
Simon Detheridge
9a8cddbbb6
Don't set UV_THREADPOOL_SIZE if already set
2020-03-03 17:09:35 +00:00
mserranom
2e35a7ccf9
removed grunt
2020-02-17 16:24:52 +01:00
mserranom
c8617ff55e
updated paths
2020-02-17 16:17:53 +01:00
mserranom
fbbee7d499
removed coffeescript
2020-02-17 16:17:05 +01:00
decaffeinate
ec32a2b1e2
decaffeinate: Run post-processing cleanups on AccessTokenEncryptorTests.coffee
2020-02-17 16:05:42 +01:00
decaffeinate
d8832849aa
decaffeinate: Convert AccessTokenEncryptorTests.coffee to JS
2020-02-17 16:05:42 +01:00
decaffeinate
45717e21fe
decaffeinate: Rename AccessTokenEncryptorTests.coffee from .coffee to .js
2020-02-17 16:05:41 +01:00
decaffeinate
7df0e74feb
decaffeinate: Run post-processing cleanups on AccessTokenEncryptor.coffee
2020-02-17 16:04:54 +01:00
decaffeinate
054bbee912
decaffeinate: Convert AccessTokenEncryptor.coffee to JS
2020-02-17 16:04:53 +01:00
decaffeinate
b51f05bf5e
decaffeinate: Rename AccessTokenEncryptor.coffee from .coffee to .js
2020-02-17 16:04:53 +01:00
John Lees-Miller
59156ec89e
Fix incorrect expect
2020-01-27 10:45:31 +00:00
Brian Gough
2273978e7b
fix gauge usage
2019-12-16 11:42:10 +00:00
Brian Gough
3a5374c6f9
increase minor version for backwards compatible addition
2019-12-16 10:22:50 +00:00
Brian Gough
93df87eff3
allow options for count
2019-12-16 10:18:30 +00:00
Simon Detheridge
620573c0ad
Add an explicit test for a 2019 string
2019-12-09 16:07:25 +00:00
Simon Detheridge
b8d5f6baeb
Split methods to reduce code duplication
2019-12-09 15:35:22 +00:00
Simon Detheridge
73f293cf49
Remove unneeded 'async' dependency
...
Co-Authored-By: Jakob Ackermann <das7pad@outlook.com>
2019-12-09 15:01:31 +00:00
Simon Detheridge
a9e39af24f
Keep oldmethods and use old method when app uses an older label
2019-12-09 14:49:23 +00:00
Simon Detheridge
c1cd5c65e7
Update dev dependencies
2019-12-05 08:58:49 +00:00
Simon Detheridge
120890bb08
Update lib/coffee/AccessTokenEncryptor.coffee
...
Co-Authored-By: Jakob Ackermann <das7pad@outlook.com>
2019-12-05 08:57:19 +00:00
Simon Detheridge
c2fc2ed178
Replace deprecated createCipher with createCipheriv for new tokens
...
Co-authored-by: Alasdair Smith <ali@alasdairsmith.co.uk>
2019-12-04 10:09:39 +00:00
Simon Detheridge
4d6ed4fd3a
Run tests via 'npm test'
2019-12-04 10:02:20 +00:00
Simon Detheridge
53aa2490f5
Merge pull request #20 from overleaf/spd-metrics-ttl
...
Add mechanism to expire old prometheus metrics
2019-10-28 17:21:57 +00:00
Simon Detheridge
feecda8ea8
Use map instead of hash for metrics
2019-10-28 14:39:53 +00:00
Simon Detheridge
e0cf10a886
Fix typo, gague -> gauge
2019-10-28 12:34:04 +00:00