rrd2json.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef NETDATA_RRD2JSON_H
  3. #define NETDATA_RRD2JSON_H 1
  4. #include "web/api/web_api_v1.h"
  5. #include "web/api/exporters/allmetrics.h"
  6. #include "web/api/queries/rrdr.h"
  7. #include "web/api/formatters/csv/csv.h"
  8. #include "web/api/formatters/ssv/ssv.h"
  9. #include "web/api/formatters/json/json.h"
  10. #include "web/api/formatters/value/value.h"
  11. #include "web/api/formatters/rrdset2json.h"
  12. #include "web/api/formatters/charts2json.h"
  13. #include "web/api/formatters/json_wrapper.h"
  14. #include "web/server/web_client.h"
  15. #define HOSTNAME_MAX 1024
  16. #define API_RELATIVE_TIME_MAX (3 * 365 * 86400)
  17. // type of JSON generations
  18. typedef enum {
  19. DATASOURCE_JSON = 0,
  20. DATASOURCE_DATATABLE_JSON = 1,
  21. DATASOURCE_DATATABLE_JSONP = 2,
  22. DATASOURCE_SSV = 3,
  23. DATASOURCE_CSV = 4,
  24. DATASOURCE_JSONP = 5,
  25. DATASOURCE_TSV = 6,
  26. DATASOURCE_HTML = 7,
  27. DATASOURCE_JS_ARRAY = 8,
  28. DATASOURCE_SSV_COMMA = 9,
  29. DATASOURCE_CSV_JSON_ARRAY = 10,
  30. DATASOURCE_CSV_MARKDOWN = 11,
  31. } DATASOURCE_FORMAT;
  32. #define DATASOURCE_FORMAT_JSON "json"
  33. #define DATASOURCE_FORMAT_DATATABLE_JSON "datatable"
  34. #define DATASOURCE_FORMAT_DATATABLE_JSONP "datasource"
  35. #define DATASOURCE_FORMAT_JSONP "jsonp"
  36. #define DATASOURCE_FORMAT_SSV "ssv"
  37. #define DATASOURCE_FORMAT_CSV "csv"
  38. #define DATASOURCE_FORMAT_TSV "tsv"
  39. #define DATASOURCE_FORMAT_HTML "html"
  40. #define DATASOURCE_FORMAT_JS_ARRAY "array"
  41. #define DATASOURCE_FORMAT_SSV_COMMA "ssvcomma"
  42. #define DATASOURCE_FORMAT_CSV_JSON_ARRAY "csvjsonarray"
  43. #define DATASOURCE_FORMAT_CSV_MARKDOWN "markdown"
  44. void rrd_stats_api_v1_chart(RRDSET *st, BUFFER *wb);
  45. void rrdr_buffer_print_format(BUFFER *wb, uint32_t format);
  46. int data_query_execute(ONEWAYALLOC *owa, BUFFER *wb, struct query_target *qt, time_t *latest_timestamp);
  47. int rrdset2value_api_v1(
  48. RRDSET *st
  49. , BUFFER *wb
  50. , NETDATA_DOUBLE *n
  51. , const char *dimensions
  52. , size_t points
  53. , time_t after
  54. , time_t before
  55. , RRDR_GROUPING group_method
  56. , const char *group_options
  57. , time_t resampling_time
  58. , uint32_t options
  59. , time_t *db_after
  60. , time_t *db_before
  61. , size_t *db_points_read
  62. , size_t *db_points_per_tier
  63. , size_t *result_points_generated
  64. , int *value_is_null
  65. , NETDATA_DOUBLE *anomaly_rate
  66. , time_t timeout
  67. , size_t tier
  68. , QUERY_SOURCE query_source
  69. , STORAGE_PRIORITY priority
  70. );
  71. #endif /* NETDATA_RRD2JSON_H */