0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-01-06 22:40:14 -05:00
ghost/core/server/lib
Kevin Ansfield ea37b78456
Added logging of slow {{#get}} helper uses (#10779)
no issue

- `{{#get}}` can slow down requests a lot if not used carefully, typically by using `limit="all"` or similar which can force a lot of data to be fetched and processed
- adds a warning log if we detect any `{{#get}}` helper call which takes longer than a certain threshold (default 200ms)
- allow log level and threshold to be configured via config to allow for different environments behaviours and requirements

New config options:
```
{
    "logging": {
        "slowHelper": {
            "level": "warn",
            "threshold": 200
        }
    }
}
```

Example output for `{{#get "tags" limit="all" order="name asc"}}` with a lot of tags:

```
[2019-06-07 10:35:52] WARN {{#get}} helper took 453ms to complete

{{#get}} helper took 453ms to complete

Error ID:
    062daed0-8910-11e9-8185-3b615ad8677d

Error Code:
    SLOW_GET_HELPER

Details:
    api:          v2.tagsPublic.browse
    apiOptions:
      order: name asc
      limit: all
    returnedRows: 1698
```
2019-06-07 14:54:55 +01:00
..
common Added logging of slow {{#get}} helper uses (#10779) 2019-06-07 14:54:55 +01:00
fs Updated docs links to best equivalents (#10386) 2019-01-17 06:57:37 +00:00
image 🐛 Fixed responsive images for .icos 2019-01-15 17:41:25 +00:00
mobiledoc 🔥 Dropped Node v6 support (#10771) 2019-06-03 14:20:23 +02:00
promise Extended sequence utility 2018-10-03 00:17:45 +02:00
security Updated to use slugify method from SDK for safe string 2019-05-07 15:33:07 +05:30
constants.js
ghost-version.js Switched to eslint-plugin-ghost (#9835) 2018-09-17 20:49:30 +02:00
request.js Set Ghost user-agent header for got requests (#10424) 2019-01-28 17:01:34 +01:00