rrd2json.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. #define DATASOURCE_INVALID (-1)
  19. #define DATASOURCE_JSON 0
  20. #define DATASOURCE_DATATABLE_JSON 1
  21. #define DATASOURCE_DATATABLE_JSONP 2
  22. #define DATASOURCE_SSV 3
  23. #define DATASOURCE_CSV 4
  24. #define DATASOURCE_JSONP 5
  25. #define DATASOURCE_TSV 6
  26. #define DATASOURCE_HTML 7
  27. #define DATASOURCE_JS_ARRAY 8
  28. #define DATASOURCE_SSV_COMMA 9
  29. #define DATASOURCE_CSV_JSON_ARRAY 10
  30. #define DATASOURCE_CSV_MARKDOWN 11
  31. #define DATASOURCE_FORMAT_JSON "json"
  32. #define DATASOURCE_FORMAT_DATATABLE_JSON "datatable"
  33. #define DATASOURCE_FORMAT_DATATABLE_JSONP "datasource"
  34. #define DATASOURCE_FORMAT_JSONP "jsonp"
  35. #define DATASOURCE_FORMAT_SSV "ssv"
  36. #define DATASOURCE_FORMAT_CSV "csv"
  37. #define DATASOURCE_FORMAT_TSV "tsv"
  38. #define DATASOURCE_FORMAT_HTML "html"
  39. #define DATASOURCE_FORMAT_JS_ARRAY "array"
  40. #define DATASOURCE_FORMAT_SSV_COMMA "ssvcomma"
  41. #define DATASOURCE_FORMAT_CSV_JSON_ARRAY "csvjsonarray"
  42. #define DATASOURCE_FORMAT_CSV_MARKDOWN "markdown"
  43. extern void rrd_stats_api_v1_chart(RRDSET *st, BUFFER *wb);
  44. extern void rrdr_buffer_print_format(BUFFER *wb, uint32_t format);
  45. extern int rrdset2anything_api_v1(
  46. RRDSET *st
  47. , BUFFER *wb
  48. , BUFFER *dimensions
  49. , uint32_t format
  50. , long points
  51. , long long after
  52. , long long before
  53. , int group_method
  54. , long group_time
  55. , uint32_t options
  56. , time_t *latest_timestamp
  57. , struct context_param *context_param_list
  58. , char *chart_label_key
  59. , int max_anomaly_rates
  60. , int timeout
  61. );
  62. extern int rrdset2value_api_v1(
  63. RRDSET *st
  64. , BUFFER *wb
  65. , calculated_number *n
  66. , const char *dimensions
  67. , long points
  68. , long long after
  69. , long long before
  70. , int group_method
  71. , long group_time
  72. , uint32_t options
  73. , time_t *db_after
  74. , time_t *db_before
  75. , int *value_is_null
  76. , int timeout
  77. );
  78. extern void build_context_param_list(struct context_param **param_list, RRDSET *st);
  79. extern void rebuild_context_param_list(struct context_param *context_param_list, time_t after_requested);
  80. extern void free_context_param_list(struct context_param **param_list);
  81. #endif /* NETDATA_RRD2JSON_H */