2020-05-27 19:11:04 +00:00
|
|
|
#pragma once
|
|
|
|
|
2020-07-09 02:00:48 +00:00
|
|
|
#include <string>
|
2020-05-27 19:11:04 +00:00
|
|
|
|
2020-05-27 20:15:33 +00:00
|
|
|
|
2020-07-09 02:00:48 +00:00
|
|
|
namespace Poco { namespace Util { class LayeredConfiguration; }}
|
|
|
|
class StackTrace;
|
|
|
|
|
2020-05-27 19:11:04 +00:00
|
|
|
|
2020-06-16 12:56:28 +00:00
|
|
|
/// \brief Sends crash reports to ClickHouse core developer team via https://sentry.io
|
|
|
|
///
|
|
|
|
/// This feature can enabled with "send_crash_reports.enabled" server setting,
|
|
|
|
/// in this case reports are sent only for official ClickHouse builds.
|
|
|
|
///
|
|
|
|
/// It is possible to send those reports to your own sentry account or account of consulting company you hired
|
|
|
|
/// by overriding "send_crash_reports.endpoint" setting. "send_crash_reports.debug" setting will allow to do that for
|
2020-07-09 02:00:48 +00:00
|
|
|
namespace SentryWriter
|
2020-05-27 19:11:04 +00:00
|
|
|
{
|
2020-07-09 02:00:48 +00:00
|
|
|
void initialize(Poco::Util::LayeredConfiguration & config);
|
|
|
|
void shutdown();
|
2020-06-16 12:56:28 +00:00
|
|
|
|
|
|
|
/// Not signal safe and can't be called from a signal handler
|
2020-07-09 02:00:48 +00:00
|
|
|
void onFault(
|
2020-05-27 19:11:04 +00:00
|
|
|
int sig,
|
2020-07-09 02:00:48 +00:00
|
|
|
const std::string & error_message,
|
2020-06-23 21:27:04 +00:00
|
|
|
const StackTrace & stack_trace,
|
2020-07-09 02:00:48 +00:00
|
|
|
const std::string & build_id_hex
|
2020-05-27 19:11:04 +00:00
|
|
|
);
|
|
|
|
};
|