Adding the debug bar logic in the server (#22410)

* Adding debugbar layer

* Adding sql debugbar info

* Make duration consistent across the debugbar lines

* Adding the debugbar/systeminfo endpoint

* Adding logs to the debugbar

* Improve the debugbar logger fields info

* Improving the debug bar architecture

* Allow to enable/disable debugbar in the backend

* Exposing the Debug Bar enable in the client config

* Adding more system information to the debugbar

* Adding params info to the store layer

* Organizing a bit the debugbar code in the server and adding some extra data to the system info api

* Adding debugbar email traces

* Changing the socket event name to 'debugbar'

* Adding explain support for the debugbar

* Adding missed file

* Omitting data related to the debugbar itself

* Removing unneeded functions

* Avoid arbitrary execution in explain api

* Moving debugbar inside the platform directory

* Replacing debugbar logger with a new logger Target

* Removed uneeded changes

* Fixing some linter errors

* Adding a debugbar log level to use it later for log events strictly related to the debug bar

* Fixing linter errors

* Fixing tests

* Adding i18n strings
Этот коммит содержится в:
Jesús Espino
2023-03-09 17:55:36 +01:00
коммит произвёл GitHub
родитель ebb160b081
Коммит 280bc7f97e
34 изменённых файлов: 16293 добавлений и 54 удалений

Просмотреть файл

@@ -401,6 +401,20 @@ func (h Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
}
statusCode = strconv.Itoa(w.(*responseWriterWrapper).StatusCode())
if c.App.Srv().DebugBar().IsEnabled() {
elapsed := float64(time.Since(now)) / float64(time.Second)
var endpoint string
if strings.HasPrefix(r.URL.Path, model.APIURLSuffixV5) {
// It's a graphQL query, so use the operation name.
endpoint = c.GraphQLOperationName
} else {
endpoint = h.HandlerName
}
c.App.Srv().DebugBar().SendApiCall(endpoint, r.Method, statusCode, elapsed)
}
if c.App.Metrics() != nil {
c.App.Metrics().IncrementHTTPRequest()