mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
Allows APM vendors to generate a diagnostic report without calling into JavaScript. Like, from their own message channels interrupting the isolate and generating a report on demand. PR-URL: https://github.com/nodejs/node/pull/44255 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
43 lines
994 B
C++
43 lines
994 B
C++
#ifndef SRC_NODE_REPORT_H_
|
|
#define SRC_NODE_REPORT_H_
|
|
|
|
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
|
|
#include "node.h"
|
|
#include "node_buffer.h"
|
|
#include "uv.h"
|
|
#include "util.h"
|
|
|
|
#ifndef _WIN32
|
|
#include <sys/types.h>
|
|
#include <unistd.h>
|
|
#endif
|
|
|
|
#include <iomanip>
|
|
#include <sstream>
|
|
|
|
namespace node {
|
|
namespace report {
|
|
// Function declarations - utility functions in src/node_report_utils.cc
|
|
void WalkHandle(uv_handle_t* h, void* arg);
|
|
|
|
template <typename T>
|
|
std::string ValueToHexString(T value) {
|
|
std::stringstream hex;
|
|
|
|
hex << "0x" << std::setfill('0') << std::setw(sizeof(T) * 2) << std::hex <<
|
|
value;
|
|
return hex.str();
|
|
}
|
|
|
|
// Function declarations - export functions in src/node_report_module.cc
|
|
void WriteReport(const v8::FunctionCallbackInfo<v8::Value>& info);
|
|
void GetReport(const v8::FunctionCallbackInfo<v8::Value>& info);
|
|
|
|
} // namespace report
|
|
} // namespace node
|
|
|
|
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
|
|
#endif // SRC_NODE_REPORT_H_
|