AppDynamics C/C++ SDK  21.3
Reference documentation for the C/C++ SDK.
appdynamics.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) AppDynamics, Inc., and its affiliates
3  * 2015-2018
4  * All Rights Reserved
5  */
6 #ifndef APPDYNAMICS_H_
7 #define APPDYNAMICS_H_
8 
9 #ifdef __cplusplus
10 #include <string>
11 #include <memory>
12 #include <map>
13 extern "C" {
14 #endif
15 
16 #ifdef _WIN32
17 #define APPD_API __declspec(dllexport)
18 #else
19 #define APPD_API __attribute__((visibility("default")))
20 #endif
21 
30 typedef void* appd_bt_handle;
31 
39 typedef void* appd_exitcall_handle;
40 
48 typedef void* appd_frame_handle;
49 
57 typedef void* appd_event_handle;
58 
59 #ifdef _WIN32
60 #pragma pack(push, 8) /* CORE-65451 */
61 #endif
62 
70 struct appd_config;
71 
83 struct appd_context_config;
84 
95 {
102 };
103 
104 #ifdef _WIN32
105 #pragma pack(pop) /* CORE-65451 */
106 #endif
107 
149 APPD_API struct appd_config* appd_config_init();
150 
189 APPD_API struct appd_context_config* appd_context_config_init(const char* context);
190 
191 //-------------------------------------App Name-------------------------------------------------------------------
192 
202  APPD_API void appd_config_set_app_name(struct appd_config* cfg, const char* app);
203 
204 
214 APPD_API void appd_context_config_set_app_name(struct appd_context_config* context_cfg, const char* app);
215 
216 //-------------------------------------Tier Name-------------------------------------------------------------------
217 
225 APPD_API void appd_config_set_tier_name(struct appd_config* cfg, const char* tier);
226 
234 APPD_API void appd_context_config_set_tier_name(struct appd_context_config* context_cfg, const char* tier);
235 
236 //-------------------------------------Node Name-------------------------------------------------------------------
237 
245 APPD_API void appd_config_set_node_name(struct appd_config* cfg, const char* node);
246 
254 APPD_API void appd_context_config_set_node_name(struct appd_context_config* context_cfg, const char* node);
255 
256 //-------------------------------------Host Name-------------------------------------------------------------------
257 
265 APPD_API void appd_config_set_controller_host(struct appd_config* cfg, const char* host);
266 
274 APPD_API void appd_context_config_set_controller_host(struct appd_context_config* context_cfg, const char* host);
275 
276 //-------------------------------------Port Number---------------------------------------------------------------
277 
287 APPD_API void appd_config_set_controller_port(struct appd_config* cfg, const unsigned short port);
288 
298 APPD_API void appd_context_config_set_controller_port(struct appd_context_config* context_cfg, const unsigned short port);
299 
300 //-------------------------------------Account Name-----------------------------------------------------------
301 
309 APPD_API void appd_config_set_controller_account(struct appd_config* cfg, const char* acct);
310 
318 APPD_API void appd_context_config_set_controller_account(struct appd_context_config* context_cfg, const char* acct);
319 
320 //-------------------------------------Access Key-----------------------------------------------------------
321 
330 APPD_API void appd_config_set_controller_access_key(struct appd_config* cfg, const char* key);
331 
340 APPD_API void appd_context_config_set_controller_access_key(struct appd_context_config* context_cfg, const char* key);
341 
354 APPD_API void appd_config_set_controller_use_ssl(struct appd_config* cfg, const unsigned int ssl);
355 
368 APPD_API void appd_context_config_set_controller_use_ssl(struct appd_context_config* context_cfg, unsigned int ssl);
369 
378 APPD_API void appd_config_set_controller_http_proxy_host(struct appd_config* cfg, const char* host);
379 
388 APPD_API void appd_context_config_set_controller_http_proxy_host(struct appd_context_config* context_cfg, const char* host);
389 
398 APPD_API void appd_config_set_controller_http_proxy_port(struct appd_config* cfg, const unsigned short port);
399 
408 APPD_API void appd_context_config_set_controller_http_proxy_port(struct appd_context_config* context_cfg, const unsigned short port);
409 
419 APPD_API void appd_config_set_controller_http_proxy_username(struct appd_config* cfg, const char* user);
420 
429 APPD_API void appd_context_config_set_controller_http_proxy_username(struct appd_context_config* context_cfg, const char* user);
430 
439 APPD_API void appd_config_set_controller_http_proxy_password(struct appd_config* cfg, const char* pwd);
440 
449 APPD_API void appd_context_config_set_controller_http_proxy_password(struct appd_context_config* context_cfg, const char* pwd);
450 
459 APPD_API void appd_config_set_controller_http_proxy_password_file(struct appd_config* cfg, const char* file);
460 
469 APPD_API void appd_context_config_set_controller_http_proxy_password_file(struct appd_context_config* context_cfg, const char* file);
470 
479 APPD_API void appd_config_set_controller_certificate_file(struct appd_config* cfg, const char* file);
480 
489 APPD_API void appd_context_config_set_controller_certificate_file(struct appd_context_config* context_cfg, const char* file);
490 
500 APPD_API void appd_config_set_controller_certificate_dir(struct appd_config* cfg, const char* dir);
501 
511 APPD_API void appd_context_config_set_controller_certificate_dir(struct appd_context_config* context_cfg, const char* dir);
512 
520 APPD_API void appd_config_set_analytics_host(struct appd_config* cfg, const char* host);
521 
531 APPD_API void appd_config_set_analytics_port(struct appd_config* cfg, const unsigned short port);
532 
540 APPD_API void appd_config_set_analytics_use_ssl(struct appd_config* cfg, const unsigned short ssl);
541 
551 APPD_API void appd_config_set_analytics_enabled(struct appd_config* cfg, const unsigned short enable);
552 
561 APPD_API void appd_config_set_logging_min_level(struct appd_config* cfg, enum appd_config_log_level lvl);
562 
571 APPD_API void appd_config_set_logging_log_dir(struct appd_config* cfg, const char* dir);
572 
580 APPD_API void appd_config_set_logging_max_num_files(struct appd_config* cfg, const unsigned int num);
581 
589 APPD_API void appd_config_set_logging_max_file_size_bytes(struct appd_config* cfg, const unsigned int size);
590 
608 APPD_API void appd_config_set_init_timeout_ms(struct appd_config* cfg, const int time);
609 
621 APPD_API void appd_config_set_flush_metrics_on_shutdown(struct appd_config* cfg, int enable);
622 
661 APPD_API void appd_config_getenv(struct appd_config* cfg, const char* prefix);
662 
671 APPD_API int appd_sdk_init(const struct appd_config* config);
672 
678 APPD_API int appd_sdk_add_app_context(struct appd_context_config* context_cfg);
679 
683 #define APPD_BACKEND_HTTP "HTTP"
684 #define APPD_BACKEND_DB "DB"
685 #define APPD_BACKEND_CACHE "CACHE"
686 #define APPD_BACKEND_RABBITMQ "RABBITMQ"
687 #define APPD_BACKEND_WEBSERVICE "WEB_SERVICE"
688 #define APPD_BACKEND_JMS "JMS"
689 #define APPD_BACKEND_WEBSPHEREMQ "WEBSPHERE_MQ"
701 APPD_API void appd_backend_declare(const char* type, const char* unregistered_name);
702 
714 APPD_API int appd_backend_set_identifying_property(const char* backend, const char* key,
715  const char* value);
716 
743 
753 APPD_API int appd_backend_add(const char* backend);
754 
768 APPD_API appd_bt_handle appd_bt_begin(const char* name, const char* correlation_header);
769 
783 APPD_API appd_bt_handle appd_bt_begin_with_app_context(const char* context, const char* name, const char* correlation_header);
784 
810 APPD_API void appd_bt_store(appd_bt_handle bt, const char* guid);
811 
825 
831 {
833 
852 APPD_API void appd_bt_add_error(appd_bt_handle bt, enum appd_error_level level, const char* message,
853  int mark_bt_as_error);
854 
865 
891 APPD_API void appd_bt_add_user_data(appd_bt_handle bt, const char* key, const char* value);
892 
913 APPD_API void appd_bt_set_url(appd_bt_handle bt, const char* url);
914 
923 
933 
956 APPD_API void appd_exitcall_store(appd_exitcall_handle exitcall, const char* guid);
957 
971 
984 APPD_API int appd_exitcall_set_details(appd_exitcall_handle exitcall, const char* details);
985 
1030 #define APPD_CORRELATION_HEADER_NAME "singularityheader"
1031 
1052 
1063  const char* message, int mark_bt_as_error);
1064 
1071 
1073 {
1078 
1083 
1088 };
1089 
1091 {
1096 
1101 };
1102 
1104 {
1107 };
1108 
1126 APPD_API void appd_custom_metric_add(const char* application_context, const char* metric_path,
1127  enum appd_time_rollup_type time_rollup_type,
1128  enum appd_cluster_rollup_type cluster_rollup_type,
1129  enum appd_hole_handling_type hole_handling_type);
1130 
1143 APPD_API void appd_custom_metric_report(const char* application_context, const char* metric_path,
1144  long value);
1145 
1150 {
1151  APPD_FRAME_TYPE_CPP = 1
1152 };
1153 
1179  const char* class_name, const char* method_name,
1180  const char* file, int line_number);
1181 
1194 
1219 APPD_API const char* appd_eum_get_cookie(appd_bt_handle bt, int https, int short_form,
1220  const char* referrer_url, const char* path);
1221 
1231 
1232 
1237 {
1241 };
1242 
1243 
1261 APPD_API appd_event_handle appd_custom_event_start(const char* application_context,
1262  enum appd_event_severity severity,
1263  const char* event_sub_type,
1264  const char* summary);
1265 
1284  const char* property_name,
1285  const char* property_value);
1286 
1304  const char* detail_name,
1305  const char* detail_value);
1306 
1322 
1327 
1328 #ifdef __cplusplus
1329 
1330 namespace appd {
1331 namespace sdk {
1332 class CallGraph;
1333 class CallGraphElement;
1334 }
1335 }
1337 APPD_API
1339  const appd::sdk::CallGraph* callgraph, const std::string& class_name,
1340  const std::string& method_name, const std::string& file_path, int32_t line_number,
1341  int32_t time_msec, appd_frame_type frame_type);
1342 
1343 APPD_API
1345 
1346 } /* extern "C" */
1347 
1348 namespace appd {
1349 namespace sdk {
1350 
1351 template <typename HandleT>
1353 {
1354 public:
1357  virtual ~HandleWrapper() = default;
1358 
1359  HandleT handle() { return m_handle; }
1360  const HandleT handle() const { return m_handle; }
1361 
1362  virtual void add_error(enum appd_error_level level, const char* message,
1363  bool mark_bt_as_error = true) = 0;
1364 
1365  void add_error(enum appd_error_level level, const std::string& message,
1366  bool mark_bt_as_error = true)
1367  {
1368  add_error(level, message.c_str(), mark_bt_as_error);
1369  }
1370 
1371 protected:
1372  HandleT m_handle;
1374 
1375 private:
1378 };
1379 
1407 class BT : public HandleWrapper<appd_bt_handle>
1408 {
1409 public:
1422  BT(const char* name, const char* correlation_header = NULL) : HandleWrapper<appd_bt_handle>()
1423  {
1424  init(name, correlation_header);
1425  }
1426 
1435  explicit BT(const std::string& name) : HandleWrapper<appd_bt_handle>() { init(name.c_str()); }
1436 
1450  BT(const std::string& name, const std::string& correlation_header)
1452  {
1453  init(name.c_str(), correlation_header.c_str());
1454  }
1455 
1465 
1467  {
1468  if (!m_borrowed_handle) {
1470  }
1471  }
1472 
1476  void store(const char* guid) { appd_bt_store(m_handle, guid); }
1477 
1481  void store(const std::string& guid) { store(guid.c_str()); }
1482 
1487 
1492 
1496  virtual void add_error(enum appd_error_level level, const char* message,
1497  bool mark_bt_as_error = true)
1498  {
1499  appd_bt_add_error(m_handle, level, message, mark_bt_as_error);
1500  }
1501 
1505  void add_user_data(const char* key, const char* value)
1506  {
1507  appd_bt_add_user_data(m_handle, key, value);
1508  }
1509 
1513  void add_user_data(const std::string& key, const std::string& value)
1514  {
1515  add_user_data(key.c_str(), value.c_str());
1516  }
1517 
1521  void set_url(const char* url) { appd_bt_set_url(m_handle, url); }
1522 
1526  void set_url(const std::string& url) { set_url(url.c_str()); }
1527 
1528 protected:
1529  void init(const char* name, const char* correlation_header = NULL)
1530  {
1531  m_handle = appd_bt_begin(name, correlation_header);
1532  }
1533 
1534 private:
1535  BT();
1536 };
1537 
1563 class ExitCall : public HandleWrapper<appd_exitcall_handle>
1564 {
1565 public:
1574  ExitCall(BT& bt, const char* backend) { init(bt, backend); }
1575 
1584  ExitCall(BT& bt, const std::string& backend) { init(bt, backend.c_str()); }
1585 
1598  {
1599  }
1600 
1602  {
1603  if (!m_borrowed_handle) {
1605  }
1606  }
1607 
1611  void store(const char* guid) { appd_exitcall_store(m_handle, guid); }
1612 
1616  void store(const std::string& guid) { store(guid.c_str()); }
1617 
1621  const std::string& get_correlation_header()
1622  {
1626 
1627  if (hdr) {
1628  correlation_header = hdr;
1629  }
1630  }
1631 
1632  return correlation_header;
1633  }
1634 
1639  int set_details(const char* details) { return appd_exitcall_set_details(m_handle, details); }
1640 
1645  int set_details(const std::string& details) { return set_details(details.c_str()); }
1646 
1651  virtual void add_error(enum appd_error_level level, const char* message,
1652  bool mark_bt_as_error = true)
1653  {
1654  appd_exitcall_add_error(m_handle, level, message, mark_bt_as_error);
1655  }
1656 
1657 protected:
1658  void init(BT& bt, const char* backend)
1659  {
1660  m_handle = appd_exitcall_begin(bt.handle(), backend);
1662  }
1663 
1664 private:
1666 
1668  std::string correlation_header;
1669 };
1670 
1684 class Frame
1685 {
1686 public:
1701  Frame(BT& bt, appd_frame_type frame_type, const char* class_name, const char* method_name,
1702  const char* file, int line_number)
1703  : m_bt(bt)
1704  {
1705  m_frame_handle =
1706  appd_frame_begin(m_bt.handle(), frame_type, class_name, method_name, file, line_number);
1707  }
1708 
1709  Frame() = delete;
1710  Frame(const Frame&) = delete;
1711  Frame& operator=(const Frame&) = delete;
1712 
1714 
1715 private:
1718 };
1719 
1726 {
1727 protected:
1728  CallGraphElement() = default;
1731 
1732 public:
1733  virtual ~CallGraphElement() = default;
1734 
1745  virtual CallGraphElement& add_child(const std::string& class_name, const std::string& method_name,
1746  const std::string& file_path, int32_t line_number,
1747  int32_t time_msec, appd_frame_type frame_type) = 0;
1748 
1749  virtual CallGraphElement& add_exit_call(appd_exitcall_handle exit_call, int32_t time_msec) = 0;
1750 };
1751 
1764 {
1765 public:
1779  CallGraph(BT& bt, const std::string& class_name, const std::string& method_name,
1780  const std::string& file_path, int32_t line_number, int32_t time_msec,
1781  appd_frame_type frame_type)
1782  : m_bt(bt),
1783  m_root(appd_construct_callgraph_element(this, class_name, method_name, file_path,
1784  line_number, time_msec, frame_type))
1785  {
1786  }
1787 
1788  ~CallGraph() = default;
1789 
1790  CallGraph() = delete;
1791  CallGraph(const CallGraph&) = delete;
1792  CallGraph& operator=(const CallGraph&) = delete;
1793 
1794  bool add_to_snapshot() const { return appd_callgraph_add_to_snapshot(this); }
1795 
1796  CallGraphElement& root() const { return *m_root; }
1797  BT& bt() { return m_bt; }
1798  const BT& bt() const { return m_bt; }
1799 
1800 private:
1802  const std::unique_ptr<CallGraphElement> m_root;
1803 };
1804 
1835 class Event
1836 {
1837 public:
1860  Event(const std::string& applicationContext, appd_event_severity severity,
1861  const std::string& eventSubType, const std::string& summary,
1862  const std::map<std::string, std::string>& properties,
1863  const std::map<std::string, std::string>& details)
1864  {
1865  m_eventHandle = appd_custom_event_start(applicationContext.c_str(), severity,
1866  eventSubType.c_str(), summary.c_str());
1867  if (m_eventHandle == nullptr) {
1868  m_success = false;
1869  return;
1870  }
1871 
1872  for (const auto& property : properties) {
1873  m_success = appd_custom_event_add_property(m_eventHandle, property.first.c_str(),
1874  property.second.c_str());
1875  if (!m_success) {
1876  return;
1877  }
1878  }
1879 
1880  for (const auto& detail : details) {
1881  m_success = appd_custom_event_add_detail(m_eventHandle, detail.first.c_str(),
1882  detail.second.c_str());
1883  if (!m_success) {
1884  return;
1885  }
1886  }
1887  }
1888 
1895  bool report()
1896  {
1897  if (! m_success) {
1898  return false;
1899  }
1901  }
1902 
1903 private:
1904  Event() = delete;
1905  Event(const Event&) = delete;
1906 
1907  bool m_success = true;
1909 };
1910 
1911 } // namespace sdk
1912 } // namespace appd
1913 
1914 #endif /* !defined(__cplusplus) */
1915 
1916 /*
1917  * Frame and callstack helpers.
1918  */
1919 #ifndef __has_attribute
1920 #define __has_attribute(x) 0
1921 #endif
1922 
1923 #if __STDC_VERSION__ >= 199901L || __cplusplus > 199711L
1924 #define APPD_FUNCTION_NAME __func__
1925 #elif __GNUC__ >= 2 || defined(_MSC_VER)
1926 #define APPD_FUNCTION_NAME __FUNCTION__
1927 #else
1928 #define APPD_FUNCTION_NAME "unknown"
1929 #endif
1930 
1931 #if defined(__cplusplus)
1932 
1933 #define APPD_AUTO_FRAME(bt) \
1934  appd::sdk::Frame __appd_f##__COUNTER__((bt), APPD_FRAME_TYPE_CPP, nullptr, APPD_FUNCTION_NAME, \
1935  __FILE__, __LINE__)
1936 
1937 #elif __has_attribute(cleanup) || __GNUC__ >= 4
1938 
1939 #define APPD_AUTO_FRAME(bt) \
1940  appd_frame_handle __appd_f##__COUNTER__ __attribute__((cleanup(appd_frame_end))) = \
1941  appd_frame_begin((bt), APPD_FRAME_TYPE_CPP, NULL, APPD_FUNCTION_NAME, __FILE__, __LINE__)
1942 
1943 #endif
1944 
1945 #endif /* APPDYNAMICS_H_ */
appd::sdk::ExitCall::store
void store(const char *guid)
Definition: appdynamics.h:1611
appd::sdk::CallGraph::add_to_snapshot
bool add_to_snapshot() const
Definition: appdynamics.h:1794
APPD_LEVEL_WARNING
@ APPD_LEVEL_WARNING
Definition: appdynamics.h:832
appd::sdk::ExitCall
Definition: appdynamics.h:1564
appd::sdk::CallGraph::bt
BT & bt()
Definition: appdynamics.h:1797
appd::sdk::HandleWrapper::m_borrowed_handle
bool m_borrowed_handle
Definition: appdynamics.h:1373
appd_config_set_flush_metrics_on_shutdown
APPD_API void appd_config_set_flush_metrics_on_shutdown(struct appd_config *cfg, int enable)
appd_config_set_controller_access_key
APPD_API void appd_config_set_controller_access_key(struct appd_config *cfg, const char *key)
APPD_FRAME_TYPE_CPP
@ APPD_FRAME_TYPE_CPP
Definition: appdynamics.h:1151
appd::sdk::BT::BT
BT(const std::string &name)
Definition: appdynamics.h:1435
appd_context_config_set_controller_http_proxy_password
APPD_API void appd_context_config_set_controller_http_proxy_password(struct appd_context_config *context_cfg, const char *pwd)
APPD_LOG_LEVEL_ERROR
@ APPD_LOG_LEVEL_ERROR
Definition: appdynamics.h:100
appd_backend_set_identifying_property
APPD_API int appd_backend_set_identifying_property(const char *backend, const char *key, const char *value)
appd_bt_begin
APPD_API appd_bt_handle appd_bt_begin(const char *name, const char *correlation_header)
APPD_CLUSTERROLLUP_TYPE_COLLECTIVE
@ APPD_CLUSTERROLLUP_TYPE_COLLECTIVE
Definition: appdynamics.h:1100
appd::sdk::Frame
Definition: appdynamics.h:1685
APPD_LOG_LEVEL_DEBUG
@ APPD_LOG_LEVEL_DEBUG
Definition: appdynamics.h:97
appd_bt_is_snapshotting
APPD_API char appd_bt_is_snapshotting(appd_bt_handle bt)
appd::sdk::Frame::Frame
Frame(const Frame &)=delete
APPD_EVENT_SEVERITY_WARNING
@ APPD_EVENT_SEVERITY_WARNING
Definition: appdynamics.h:1239
appd::sdk::CallGraph::~CallGraph
~CallGraph()=default
appd::sdk::ExitCall::~ExitCall
~ExitCall()
Definition: appdynamics.h:1601
appd_context_config_set_controller_host
APPD_API void appd_context_config_set_controller_host(struct appd_context_config *context_cfg, const char *host)
appd_bt_get
APPD_API appd_bt_handle appd_bt_get(const char *guid)
appd::sdk::CallGraph
Definition: appdynamics.h:1764
appd_bt_add_user_data
APPD_API void appd_bt_add_user_data(appd_bt_handle bt, const char *key, const char *value)
appd::sdk::HandleWrapper::HandleWrapper
HandleWrapper(const HandleWrapper &)
appd::sdk::CallGraphElement::CallGraphElement
CallGraphElement()=default
appd::sdk::Frame::~Frame
~Frame()
Definition: appdynamics.h:1713
appd_config_set_init_timeout_ms
APPD_API void appd_config_set_init_timeout_ms(struct appd_config *cfg, const int time)
appd::sdk::HandleWrapper::add_error
void add_error(enum appd_error_level level, const std::string &message, bool mark_bt_as_error=true)
Definition: appdynamics.h:1365
appd_config_set_controller_certificate_file
APPD_API void appd_config_set_controller_certificate_file(struct appd_config *cfg, const char *file)
appd_config_set_controller_http_proxy_host
APPD_API void appd_config_set_controller_http_proxy_host(struct appd_config *cfg, const char *host)
appd::sdk::ExitCall::store
void store(const std::string &guid)
Definition: appdynamics.h:1616
appd_config_set_controller_certificate_dir
APPD_API void appd_config_set_controller_certificate_dir(struct appd_config *cfg, const char *dir)
appd::sdk::ExitCall::add_error
virtual void add_error(enum appd_error_level level, const char *message, bool mark_bt_as_error=true)
Definition: appdynamics.h:1651
appd_custom_event_start
APPD_API appd_event_handle appd_custom_event_start(const char *application_context, enum appd_event_severity severity, const char *event_sub_type, const char *summary)
appd_context_config_set_controller_port
APPD_API void appd_context_config_set_controller_port(struct appd_context_config *context_cfg, const unsigned short port)
appd::sdk::BT
Definition: appdynamics.h:1408
appd::sdk::CallGraphElement::add_child
virtual CallGraphElement & add_child(const std::string &class_name, const std::string &method_name, const std::string &file_path, int32_t line_number, int32_t time_msec, appd_frame_type frame_type)=0
appd_custom_metric_report
APPD_API void appd_custom_metric_report(const char *application_context, const char *metric_path, long value)
appd_config_set_tier_name
APPD_API void appd_config_set_tier_name(struct appd_config *cfg, const char *tier)
appd::sdk::BT::enable_snapshot
bool enable_snapshot() const
Definition: appdynamics.h:1491
appd_bt_enable_snapshot
APPD_API int appd_bt_enable_snapshot(appd_bt_handle bt)
appd_config_set_analytics_host
APPD_API void appd_config_set_analytics_host(struct appd_config *cfg, const char *host)
appd_context_config_set_controller_certificate_dir
APPD_API void appd_context_config_set_controller_certificate_dir(struct appd_context_config *context_cfg, const char *dir)
appd_exitcall_store
APPD_API void appd_exitcall_store(appd_exitcall_handle exitcall, const char *guid)
appd_config_set_app_name
APPD_API void appd_config_set_app_name(struct appd_config *cfg, const char *app)
appd_event_handle
void * appd_event_handle
Definition: appdynamics.h:57
appd::sdk::BT::store
void store(const std::string &guid)
Definition: appdynamics.h:1481
APPD_EVENT_SEVERITY_ERROR
@ APPD_EVENT_SEVERITY_ERROR
Definition: appdynamics.h:1240
appd::sdk::CallGraph::m_root
const std::unique_ptr< CallGraphElement > m_root
Definition: appdynamics.h:1802
appd::sdk::BT::BT
BT(const std::string &name, const std::string &correlation_header)
Definition: appdynamics.h:1450
appd::sdk::BT::add_user_data
void add_user_data(const std::string &key, const std::string &value)
Definition: appdynamics.h:1513
APPD_LOG_LEVEL_WARN
@ APPD_LOG_LEVEL_WARN
Definition: appdynamics.h:99
appd_config_set_controller_use_ssl
APPD_API void appd_config_set_controller_use_ssl(struct appd_config *cfg, const unsigned int ssl)
appd::sdk::HandleWrapper::handle
HandleT handle()
Definition: appdynamics.h:1359
appd_config_set_logging_max_num_files
APPD_API void appd_config_set_logging_max_num_files(struct appd_config *cfg, const unsigned int num)
appd_custom_event_add_property
APPD_API int appd_custom_event_add_property(appd_event_handle event_handle, const char *property_name, const char *property_value)
appd::sdk::CallGraphElement::operator=
CallGraphElement & operator=(const CallGraphElement &)=delete
appd::sdk::BT::is_snapshotting
bool is_snapshotting() const
Definition: appdynamics.h:1486
appd::sdk::HandleWrapper
Definition: appdynamics.h:1353
appd_context_config_set_controller_http_proxy_host
APPD_API void appd_context_config_set_controller_http_proxy_host(struct appd_context_config *context_cfg, const char *host)
appd::sdk::CallGraphElement::add_exit_call
virtual CallGraphElement & add_exit_call(appd_exitcall_handle exit_call, int32_t time_msec)=0
appd::sdk::HandleWrapper::~HandleWrapper
virtual ~HandleWrapper()=default
appd::sdk::Event
Definition: appdynamics.h:1836
appd_context_config_set_controller_http_proxy_password_file
APPD_API void appd_context_config_set_controller_http_proxy_password_file(struct appd_context_config *context_cfg, const char *file)
appd::sdk::BT::set_url
void set_url(const char *url)
Definition: appdynamics.h:1521
APPD_TIMEROLLUP_TYPE_SUM
@ APPD_TIMEROLLUP_TYPE_SUM
Definition: appdynamics.h:1082
appd_time_rollup_type
appd_time_rollup_type
Definition: appdynamics.h:1073
appd_bt_begin_with_app_context
APPD_API appd_bt_handle appd_bt_begin_with_app_context(const char *context, const char *name, const char *correlation_header)
APPD_LEVEL_ERROR
@ APPD_LEVEL_ERROR
Definition: appdynamics.h:832
appd::sdk::Frame::m_frame_handle
appd_frame_handle m_frame_handle
Definition: appdynamics.h:1717
appd_config_set_logging_min_level
APPD_API void appd_config_set_logging_min_level(struct appd_config *cfg, enum appd_config_log_level lvl)
appd::sdk::CallGraph::root
CallGraphElement & root() const
Definition: appdynamics.h:1796
appd::sdk::CallGraph::bt
const BT & bt() const
Definition: appdynamics.h:1798
appd_bt_end
APPD_API void appd_bt_end(appd_bt_handle bt)
appd_event_severity
appd_event_severity
Definition: appdynamics.h:1237
appd::sdk::HandleWrapper::add_error
virtual void add_error(enum appd_error_level level, const char *message, bool mark_bt_as_error=true)=0
appd::sdk::BT::BT
BT(const char *name, const char *correlation_header=NULL)
Definition: appdynamics.h:1422
appd_config_set_controller_http_proxy_port
APPD_API void appd_config_set_controller_http_proxy_port(struct appd_config *cfg, const unsigned short port)
APPD_LEVEL_NOTICE
@ APPD_LEVEL_NOTICE
Definition: appdynamics.h:832
appd_context_config_set_node_name
APPD_API void appd_context_config_set_node_name(struct appd_context_config *context_cfg, const char *node)
appd_eum_get_cookie
APPD_API const char * appd_eum_get_cookie(appd_bt_handle bt, int https, int short_form, const char *referrer_url, const char *path)
APPD_LOG_LEVEL_TRACE
@ APPD_LOG_LEVEL_TRACE
Definition: appdynamics.h:96
appd_config_log_level
appd_config_log_level
Definition: appdynamics.h:95
appd_exitcall_end
APPD_API void appd_exitcall_end(appd_exitcall_handle exitcall)
appd_config_set_analytics_enabled
APPD_API void appd_config_set_analytics_enabled(struct appd_config *cfg, const unsigned short enable)
appd
Definition: appdynamics.h:1330
appd_config_set_logging_log_dir
APPD_API void appd_config_set_logging_log_dir(struct appd_config *cfg, const char *dir)
appd::sdk::Frame::operator=
Frame & operator=(const Frame &)=delete
appd::sdk::HandleWrapper::HandleWrapper
HandleWrapper()
Definition: appdynamics.h:1355
appd::sdk::ExitCall::ExitCall
ExitCall(BT &bt, const char *backend)
Definition: appdynamics.h:1574
appd_error_level
appd_error_level
Definition: appdynamics.h:831
appd_context_config_set_tier_name
APPD_API void appd_context_config_set_tier_name(struct appd_context_config *context_cfg, const char *tier)
appd::sdk::CallGraph::operator=
CallGraph & operator=(const CallGraph &)=delete
appd_frame_handle
void * appd_frame_handle
Definition: appdynamics.h:48
appd::sdk::ExitCall::set_details
int set_details(const char *details)
Definition: appdynamics.h:1639
APPD_API
#define APPD_API
Definition: appdynamics.h:19
appd_callgraph_add_to_snapshot
APPD_API bool appd_callgraph_add_to_snapshot(const appd::sdk::CallGraph *callgraph)
appd_sdk_init
APPD_API int appd_sdk_init(const struct appd_config *config)
appd_context_config_set_controller_use_ssl
APPD_API void appd_context_config_set_controller_use_ssl(struct appd_context_config *context_cfg, unsigned int ssl)
appd_config_set_controller_port
APPD_API void appd_config_set_controller_port(struct appd_config *cfg, const unsigned short port)
appd_backend_prevent_agent_resolution
APPD_API int appd_backend_prevent_agent_resolution(const char *backend)
appd::sdk::Event::Event
Event(const Event &)=delete
appd_context_config_init
APPD_API struct appd_context_config * appd_context_config_init(const char *context)
appd_sdk_add_app_context
APPD_API int appd_sdk_add_app_context(struct appd_context_config *context_cfg)
appd_frame_type
appd_frame_type
Definition: appdynamics.h:1150
appd_bt_add_error
APPD_API void appd_bt_add_error(appd_bt_handle bt, enum appd_error_level level, const char *message, int mark_bt_as_error)
appd_config_set_controller_http_proxy_password_file
APPD_API void appd_config_set_controller_http_proxy_password_file(struct appd_config *cfg, const char *file)
appd_custom_event_add_detail
APPD_API int appd_custom_event_add_detail(appd_event_handle event_handle, const char *detail_name, const char *detail_value)
appd::sdk::ExitCall::init
void init(BT &bt, const char *backend)
Definition: appdynamics.h:1658
appd::sdk::Event::report
bool report()
Definition: appdynamics.h:1895
APPD_HOLEHANDLING_TYPE_REGULAR_COUNTER
@ APPD_HOLEHANDLING_TYPE_REGULAR_COUNTER
Definition: appdynamics.h:1106
appd::sdk::CallGraph::CallGraph
CallGraph()=delete
appd::sdk::BT::add_error
virtual void add_error(enum appd_error_level level, const char *message, bool mark_bt_as_error=true)
Definition: appdynamics.h:1496
appd::sdk::CallGraph::CallGraph
CallGraph(BT &bt, const std::string &class_name, const std::string &method_name, const std::string &file_path, int32_t line_number, int32_t time_msec, appd_frame_type frame_type)
Definition: appdynamics.h:1779
appd_custom_event_end
APPD_API int appd_custom_event_end(appd_event_handle event_handle)
appd::sdk::ExitCall::ExitCall
ExitCall(BT &bt, const std::string &backend)
Definition: appdynamics.h:1584
appd_context_config_set_controller_account
APPD_API void appd_context_config_set_controller_account(struct appd_context_config *context_cfg, const char *acct)
appd::sdk::CallGraphElement
Definition: appdynamics.h:1726
APPD_TIMEROLLUP_TYPE_AVERAGE
@ APPD_TIMEROLLUP_TYPE_AVERAGE
Definition: appdynamics.h:1077
appd_config_set_controller_http_proxy_password
APPD_API void appd_config_set_controller_http_proxy_password(struct appd_config *cfg, const char *pwd)
appd_frame_end
APPD_API void appd_frame_end(appd_bt_handle bt, appd_frame_handle frame)
appd_bt_set_url
APPD_API void appd_bt_set_url(appd_bt_handle bt, const char *url)
appd::sdk::Frame::m_bt
BT & m_bt
Definition: appdynamics.h:1716
appd_context_config_set_controller_http_proxy_port
APPD_API void appd_context_config_set_controller_http_proxy_port(struct appd_context_config *context_cfg, const unsigned short port)
appd_custom_metric_add
APPD_API void appd_custom_metric_add(const char *application_context, const char *metric_path, enum appd_time_rollup_type time_rollup_type, enum appd_cluster_rollup_type cluster_rollup_type, enum appd_hole_handling_type hole_handling_type)
APPD_HOLEHANDLING_TYPE_RATE_COUNTER
@ APPD_HOLEHANDLING_TYPE_RATE_COUNTER
Definition: appdynamics.h:1105
appd::sdk::BT::BT
BT()
appd_exitcall_get
APPD_API appd_exitcall_handle appd_exitcall_get(const char *guid)
appd::sdk::HandleWrapper::m_handle
HandleT m_handle
Definition: appdynamics.h:1372
appd::sdk::HandleWrapper::operator=
HandleWrapper & operator=(const HandleWrapper &)
appd::sdk::Frame::Frame
Frame(BT &bt, appd_frame_type frame_type, const char *class_name, const char *method_name, const char *file, int line_number)
Definition: appdynamics.h:1701
appd_exitcall_set_details
APPD_API int appd_exitcall_set_details(appd_exitcall_handle exitcall, const char *details)
appd::sdk::ExitCall::correlation_header
std::string correlation_header
Definition: appdynamics.h:1668
appd::sdk::BT::add_user_data
void add_user_data(const char *key, const char *value)
Definition: appdynamics.h:1505
appd::sdk::ExitCall::m_loaded_correlation_header
bool m_loaded_correlation_header
Definition: appdynamics.h:1667
appd_config_set_node_name
APPD_API void appd_config_set_node_name(struct appd_config *cfg, const char *node)
appd::sdk::Event::m_eventHandle
appd_event_handle m_eventHandle
Definition: appdynamics.h:1908
appd_hole_handling_type
appd_hole_handling_type
Definition: appdynamics.h:1104
appd_config_set_analytics_port
APPD_API void appd_config_set_analytics_port(struct appd_config *cfg, const unsigned short port)
appd_config_set_controller_account
APPD_API void appd_config_set_controller_account(struct appd_config *cfg, const char *acct)
appd::sdk::ExitCall::get_correlation_header
const std::string & get_correlation_header()
Definition: appdynamics.h:1621
APPD_LOG_LEVEL_INFO
@ APPD_LOG_LEVEL_INFO
Definition: appdynamics.h:98
appd_frame_begin
APPD_API appd_frame_handle appd_frame_begin(appd_bt_handle bt, enum appd_frame_type frame_type, const char *class_name, const char *method_name, const char *file, int line_number)
appd_exitcall_get_correlation_header
APPD_API const char * appd_exitcall_get_correlation_header(appd_exitcall_handle exitcall)
appd_bt_store
APPD_API void appd_bt_store(appd_bt_handle bt, const char *guid)
appd_construct_callgraph_element
APPD_API appd::sdk::CallGraphElement * appd_construct_callgraph_element(const appd::sdk::CallGraph *callgraph, const std::string &class_name, const std::string &method_name, const std::string &file_path, int32_t line_number, int32_t time_msec, appd_frame_type frame_type)
appd::sdk::CallGraphElement::CallGraphElement
CallGraphElement(const CallGraphElement &)=delete
APPD_CLUSTERROLLUP_TYPE_INDIVIDUAL
@ APPD_CLUSTERROLLUP_TYPE_INDIVIDUAL
Definition: appdynamics.h:1095
appd_bt_handle
void * appd_bt_handle
Definition: appdynamics.h:30
appd::sdk::ExitCall::set_details
int set_details(const std::string &details)
Definition: appdynamics.h:1645
appd::sdk::BT::BT
BT(appd_bt_handle bt)
Definition: appdynamics.h:1464
appd_context_config_set_controller_certificate_file
APPD_API void appd_context_config_set_controller_certificate_file(struct appd_context_config *context_cfg, const char *file)
appd::sdk::CallGraphElement::~CallGraphElement
virtual ~CallGraphElement()=default
appd_config_getenv
APPD_API void appd_config_getenv(struct appd_config *cfg, const char *prefix)
appd::sdk::Event::Event
Event()=delete
appd::sdk::BT::init
void init(const char *name, const char *correlation_header=NULL)
Definition: appdynamics.h:1529
appd::sdk::Event::m_success
bool m_success
Definition: appdynamics.h:1907
appd::sdk::ExitCall::ExitCall
ExitCall()
appd_config_set_controller_http_proxy_username
APPD_API void appd_config_set_controller_http_proxy_username(struct appd_config *cfg, const char *user)
appd::sdk::HandleWrapper::HandleWrapper
HandleWrapper(HandleT handle)
Definition: appdynamics.h:1356
appd_exitcall_handle
void * appd_exitcall_handle
Definition: appdynamics.h:39
appd::sdk::Frame::Frame
Frame()=delete
APPD_LOG_LEVEL_FATAL
@ APPD_LOG_LEVEL_FATAL
Definition: appdynamics.h:101
appd::sdk::CallGraph::CallGraph
CallGraph(const CallGraph &)=delete
appd_exitcall_add_error
APPD_API void appd_exitcall_add_error(appd_exitcall_handle exitcall, enum appd_error_level level, const char *message, int mark_bt_as_error)
appd::sdk::CallGraph::m_bt
BT & m_bt
Definition: appdynamics.h:1801
APPD_TIMEROLLUP_TYPE_CURRENT
@ APPD_TIMEROLLUP_TYPE_CURRENT
Definition: appdynamics.h:1087
appd::sdk::BT::~BT
~BT()
Definition: appdynamics.h:1466
appd_config_init
APPD_API struct appd_config * appd_config_init()
appd::sdk::ExitCall::ExitCall
ExitCall(appd_exitcall_handle exitcall)
Definition: appdynamics.h:1596
appd_cluster_rollup_type
appd_cluster_rollup_type
Definition: appdynamics.h:1091
appd::sdk::Event::Event
Event(const std::string &applicationContext, appd_event_severity severity, const std::string &eventSubType, const std::string &summary, const std::map< std::string, std::string > &properties, const std::map< std::string, std::string > &details)
Definition: appdynamics.h:1860
appd_context_config_set_app_name
APPD_API void appd_context_config_set_app_name(struct appd_context_config *context_cfg, const char *app)
appd_context_config_set_controller_http_proxy_username
APPD_API void appd_context_config_set_controller_http_proxy_username(struct appd_context_config *context_cfg, const char *user)
appd::sdk::BT::set_url
void set_url(const std::string &url)
Definition: appdynamics.h:1526
appd_config_set_controller_host
APPD_API void appd_config_set_controller_host(struct appd_config *cfg, const char *host)
appd_config_set_logging_max_file_size_bytes
APPD_API void appd_config_set_logging_max_file_size_bytes(struct appd_config *cfg, const unsigned int size)
appd_exitcall_begin
APPD_API appd_exitcall_handle appd_exitcall_begin(appd_bt_handle bt, const char *backend)
appd_config_set_analytics_use_ssl
APPD_API void appd_config_set_analytics_use_ssl(struct appd_config *cfg, const unsigned short ssl)
appd_backend_add
APPD_API int appd_backend_add(const char *backend)
appd::sdk::HandleWrapper::handle
const HandleT handle() const
Definition: appdynamics.h:1360
APPD_EVENT_SEVERITY_INFO
@ APPD_EVENT_SEVERITY_INFO
Definition: appdynamics.h:1238
appd_sdk_term
APPD_API void appd_sdk_term()
appd::sdk::BT::store
void store(const char *guid)
Definition: appdynamics.h:1476
appd_context_config_set_controller_access_key
APPD_API void appd_context_config_set_controller_access_key(struct appd_context_config *context_cfg, const char *key)