solarwinds_apm 5.1.6 → 5.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8298bf959acf2663351b05afeb78ffa573c02107f9588bbc925a990e35675e4d
4
- data.tar.gz: a67822c4554525b9894cdb578b48cf51de562ecd1b5ba353ed58f037ed88daf9
3
+ metadata.gz: cdd15fde05af7219d90e153f0acb28c0f075c08ad40be2d40c23b39a5c73bed3
4
+ data.tar.gz: b8d021ae71f3080d68b0990a062d7d5ec36bc8df91a07bf51ff43acbb7d8b94b
5
5
  SHA512:
6
- metadata.gz: 9998cc5ed8152951dcfbe0a997ac952b89a32eb7fcbcfe3b3cf51a87231606d0471eddfa9d5a14be58780904681776a99b99abfa5dfbd4159d791d8ddaea556c
7
- data.tar.gz: 661af15bb3b3a14a361f7e4f95b3367c2fbb459b19b9b7c1894480f9f85050c68fca6ce7029ed9cb7bb7fce82d8cd593c746989311ed8d68fbd4ba2c4a687c3e
6
+ metadata.gz: 3237df27aa4fa104f65d3b65915ae6b4a5b3fb50923658249c083ccc6a633a1da665786407aaee0e7711a9e19416ee1df14594c3257cfdc00fe3018e3f99e244
7
+ data.tar.gz: e70bc08cee67c45fcaa0fbcbb22efb74d4e7752f28b017f1f6c1067cdf9a4785b189972d3f6dfce227c36fee418b28dbaa11e9608d7733762895182d118701c9
data/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@ https://github.com/solarwindscloud/solarwinds-apm-ruby/releases
3
3
 
4
4
  Dates in this file are in the format MM/DD/YYYY.
5
5
 
6
+ # solarwinds_apm 5.1.7 (03/14/2023)
7
+
8
+ This release includes the following features:
9
+
10
+ * Update latest liboboe library (12.1.0)
11
+
12
+ Pushed to Rubygems:
13
+
14
+ https://rubygems.org/gems/solarwinds_apm/versions/5.1.7
15
+
6
16
  # solarwinds_apm 5.1.6 (03/14/2023)
7
17
 
8
18
  This release includes the following features:
@@ -13,7 +23,7 @@ This release includes the following features:
13
23
 
14
24
  Pushed to Rubygems:
15
25
 
16
- https://rubygems.org/gems/solarwinds_apm/versions/5.1.5
26
+ https://rubygems.org/gems/solarwinds_apm/versions/5.1.6
17
27
 
18
28
 
19
29
  # solarwinds_apm 5.1.4 (11/23/2022)
@@ -1 +1 @@
1
- d9c280de4ab597fe7d3405a405c07f7e27ae4fb2cba7502f3893335bff119c3b
1
+ 1cfc73a5f69a92b2abdfe973e52dcd4650fb0d224827e38dd3630c817feff0b5
@@ -1 +1 @@
1
- 7864bee37bcaeacef1c3ffae2db3ae2d163ef18ebb107fe11228122211e6ddb4
1
+ 46e70e34f873a596e5c76f2914ea6292716dac8ff3ed5020e6599fc60dfe19d3
@@ -1 +1 @@
1
- 48849897b168cde0de01b3c1355d0343e687cbec075f5970d88f166bd5182045
1
+ ee8eb315b1271d0586bf232e7e1a8ab28af43be3861341866fc945f3cd7c1d5c
@@ -1 +1 @@
1
- 139fd6c84d20b5f4b12931a0ecf6630b8b0cae14792d05000c29b8d35aa7332c
1
+ e7287ff06e3ba3879838f0b460b85d8f4d2d82f1e0f36d95a4235cf42c56d36f
@@ -1,2 +1,2 @@
1
- 12.0.0
1
+ 12.1.0
2
2
 
@@ -29,12 +29,6 @@ extern "C" {
29
29
  #include "bson/bson.h"
30
30
  #include "oboe_debug.h"
31
31
 
32
- /** Compile time debug logging detail level - cannot log more detailed than this. */
33
- #define OBOE_DEBUG_LEVEL OBOE_DEBUG_HIGH
34
-
35
- /** Limit for number of messages at specified level before demoting to debug MEDIUM. */
36
- #define MAX_DEBUG_MSG_COUNT 1
37
-
38
32
  /**
39
33
  * Default configuration settings update interval in seconds.
40
34
  *
@@ -85,7 +79,7 @@ extern "C" {
85
79
  /**
86
80
  * Default EC2 metadata timeout in milliseconds
87
81
  */
88
- #define OBOE_DEFAULT_EC2_METADATA_TIMEOUT 1000
82
+ #define OBOE_DEFAULT_EC2_METADATA_TIMEOUT 50
89
83
 
90
84
  #define OBOE_SAMPLE_RESOLUTION 1000000
91
85
 
@@ -772,268 +766,6 @@ extern int oboe_config_check_version(int version, int revision);
772
766
  */
773
767
  extern int oboe_config_get_version();
774
768
 
775
- /**
776
- * Prototype for a logger call-back function.
777
- *
778
- * A logging function of this form can be added to the logger chain using
779
- * oboe_debug_log_add().
780
- *
781
- * @param context The context pointer that was registered in the call to
782
- * oboe_debug_log_add(). Use it to pass the pointer-to-self for
783
- * objects (ie. "this" in C++) or just a structure in C, May be
784
- * NULL.
785
- * @param module The module identifier as passed to oboe_debug_logger().
786
- * @param level The diagnostic detail level as passed to oboe_debug_logger().
787
- * @param source_name Name of the source file as passed to oboe_debug_logger().
788
- * @param source_lineno Number of the line in the source file where message is
789
- * logged from as passed to oboe_debug_logger().
790
- * @param msg The formatted message produced from the format string and its
791
- * arguments as passed to oboe_debug_logger().
792
- */
793
- typedef void (*OboeDebugLoggerFcn)(void *context, int module, int level, const char *source_name, int source_lineno, const char *msg);
794
-
795
- /**
796
- * Get a printable name for a diagnostics logging level.
797
- */
798
- extern const char *oboe_debug_log_level_name(int level);
799
-
800
- /**
801
- * Get a printable name for a diagnostics logging module identifier.
802
- */
803
- extern const char *oboe_debug_module_name(int module);
804
-
805
- /**
806
- * Get the maximum logging detail level for a module or for all modules.
807
- *
808
- * This level applies to the stderr logger only. Added loggers get all messages
809
- * below their registed detail level and need to do their own module-specific
810
- * filtering.
811
- *
812
- * @param module One of the OBOE_MODULE_* values. Use OBOE_MODULE_ALL (-1) to
813
- * get the overall maximum detail level.
814
- * @return Maximum detail level value for module (or overall) where zero is the
815
- * lowest and higher values generate more detailed log messages.
816
- */
817
- extern int oboe_debug_log_level_get(int module);
818
-
819
- /**
820
- * Set the maximum logging detail level for a module or for all modules.
821
- *
822
- * This level applies to the stderr logger only. Added loggers get all messages
823
- * below their registered detail level and need to do their own module-specific
824
- * filtering.
825
- *
826
- * @param module One of the OBOE_MODULE_* values. Use OBOE_MODULE_ALL to set
827
- * the overall maximum detail level.
828
- * @param newLevel Maximum detail level value where zero is the lowest and higher
829
- * values generate more detailed log messages.
830
- */
831
- extern void oboe_debug_log_level_set(int module, int newLevel);
832
-
833
- /**
834
- * Set the output stream for the default logger.
835
- *
836
- * @param newStream A valid, open FILE* stream or NULL to disable the default logger.
837
- * @return Zero on success; otherwise an error code (normally from errno).
838
- */
839
- extern int oboe_debug_log_to_stream(FILE *newStream);
840
-
841
- /**
842
- * If we're logging to a stream, flush it.
843
- *
844
- * @return Zero on success; otherwise an error code (normally from errno).
845
- */
846
- extern int oboe_debug_log_flush();
847
-
848
- /**
849
- * Set the default logger to write to the specified file.
850
- *
851
- * A NULL or empty path name will disable the default logger.
852
- *
853
- * If the file exists then it will be opened in append mode.
854
- *
855
- * @param pathname The path name of the
856
- * @return Zero on success; otherwise an error code (normally from errno).
857
- */
858
- extern int oboe_debug_log_to_file(const char *pathname);
859
-
860
- /**
861
- * Add a logger that takes messages up to a given logging detail level.
862
- *
863
- * This adds the logger to a chain in order of the logging level. Log messages
864
- * are passed to each logger down the chain until the remaining loggers only
865
- * accept messages of a lower detail level.
866
- *
867
- * @return Zero on success, one if re-registered with the new logging level, and
868
- * otherwise a negative value to indicate an error.
869
- */
870
- extern int oboe_debug_log_add(OboeDebugLoggerFcn newLogger, void *context, int logLevel);
871
-
872
- /**
873
- * Remove a logger.
874
- *
875
- * Remove the logger from the message handling chain.
876
- *
877
- * @return Zero on success, one if it was not found, and otherwise a negative
878
- * value to indicate an error.
879
- */
880
- extern int oboe_debug_log_remove(OboeDebugLoggerFcn oldLogger, void *context);
881
-
882
- /*
883
- * Log the application's Oboe configuration.
884
- *
885
- * We use this to get a reasonable standard format between apps.
886
- *
887
- * @param module An OBOE_MODULE_* module identifier. Use zero for undefined.
888
- * @param app_name Either NULL or a pointer to a string containing a name for
889
- * the application - will prefix the log entry. Useful when multiple
890
- * apps log to the same destination.
891
- * @param trace_mode A string identifying the configured tracing mode, one of:
892
- * "enabled", "disabled", "unset", or "undef" (for invalid values)
893
- * Use the oboe_tracing_mode_to_string() function to convert from
894
- * numeric values.
895
- * @param sample_rate The configured sampling rate: -1 for unset or a
896
- * integer fraction of 1000000.
897
- * @param reporter_type String identifying the type of reporter configured:
898
- * One of 'udp' (the default), 'ssl', or 'file'.
899
- * @param reporter_args The string of comma-separated key=value settings
900
- * used to initialize the reporter.
901
- * @param extra: Either NULL or a pointer to a string to be appended to
902
- * the log message and designed to include a few other
903
- * configuration parameters of interest.
904
- */
905
- #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_INFO
906
- # define OBOE_DEBUG_LOG_CONFIG(module, app_name, trace_mode, sample_rate, reporter_type, reporter_args, extra) \
907
- { \
908
- oboe_debug_logger(module, OBOE_DEBUG_INFO, __FILE__, __LINE__, \
909
- "%s Oboe config: tracing=%s, sampling=%d, reporter=('%s', '%s') %s", \
910
- (app_name == NULL ? "" : app_name), \
911
- trace_mode, \
912
- sample_rate, \
913
- (reporter_type == NULL ? "?" : reporter_type), \
914
- (reporter_args == NULL ? "?" : reporter_args), \
915
- (extra == NULL ? "" : extra)); \
916
- }
917
- #else
918
- # define OBOE_DEBUG_LOG_CONFIG(module, app_name, trace_mode, sample_rate, reporter_type, reporter_args, extra) {}
919
- #endif
920
-
921
- /**
922
- * Log a fatal error.
923
- */
924
- #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_FATAL
925
- # define OBOE_DEBUG_LOG_FATAL(module, ...) \
926
- { \
927
- oboe_debug_logger(module, OBOE_DEBUG_FATAL, __FILE__, __LINE__, __VA_ARGS__); \
928
- }
929
- #else
930
- # define OBOE_DEBUG_LOG_FATAL(module, format_string, ...) {}
931
- #endif
932
-
933
- /**
934
- * Log a recoverable error.
935
- *
936
- * Each message is limited in the number of times that it will be reported at the
937
- * ERROR level after which it will be logged at the debug MEDIUM level.
938
- */
939
- #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_ERROR
940
- # define OBOE_DEBUG_LOG_ERROR(module, ...) \
941
- { \
942
- static int usage_counter = 0; \
943
- int loglev = (++usage_counter <= MAX_DEBUG_MSG_COUNT ? OBOE_DEBUG_ERROR : OBOE_DEBUG_MEDIUM); \
944
- oboe_debug_logger(module, loglev, __FILE__, __LINE__, __VA_ARGS__); \
945
- }
946
- #else
947
- # define OBOE_DEBUG_LOG_ERROR(module, format_string, ...) {}
948
- #endif
949
-
950
- /**
951
- * Log a warning.
952
- *
953
- * Each message is limited in the number of times that it will be reported at the
954
- * WARNING level after which it will be logged at the debug MEDIUM level.
955
- */
956
- #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_WARNING
957
- # define OBOE_DEBUG_LOG_WARNING(module, ...) \
958
- { \
959
- static int usage_counter = 0; \
960
- int loglev = (++usage_counter <= MAX_DEBUG_MSG_COUNT ? OBOE_DEBUG_WARNING : OBOE_DEBUG_MEDIUM); \
961
- oboe_debug_logger(module, loglev, __FILE__, __LINE__, __VA_ARGS__); \
962
- }
963
- #else
964
- # define OBOE_DEBUG_LOG_WARNING(module, format_string,...) {}
965
- #endif
966
-
967
- /**
968
- * Log an informative message.
969
- *
970
- * Each message is limited in the number of times that it will be reported at the
971
- * INFO level after which it will be logged at the debug MEDIUM level.
972
- */
973
- #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_INFO
974
- # define OBOE_DEBUG_LOG_INFO(module, ...) \
975
- { \
976
- static int usage_counter = 0; \
977
- int loglev = (++usage_counter <= MAX_DEBUG_MSG_COUNT ? OBOE_DEBUG_INFO : OBOE_DEBUG_MEDIUM); \
978
- oboe_debug_logger(module, loglev, __FILE__, __LINE__, __VA_ARGS__); \
979
- }
980
- #else
981
- # define OBOE_DEBUG_LOG_INFO(module, format_string, ...) {}
982
- #endif
983
-
984
- /**
985
- * Log a low-detail diagnostic message.
986
- */
987
- #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_LOW
988
- # define OBOE_DEBUG_LOG_LOW(module, ...) \
989
- { \
990
- oboe_debug_logger(module, OBOE_DEBUG_LOW, __FILE__, __LINE__, __VA_ARGS__); \
991
- }
992
- #else
993
- # define OBOE_DEBUG_LOG_LOW(module, format_string, ...) {}
994
- #endif
995
-
996
- /**
997
- * Log a medium-detail diagnostic message.
998
- */
999
- #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_MEDIUM
1000
- # define OBOE_DEBUG_LOG_MEDIUM(module, ...) \
1001
- { \
1002
- oboe_debug_logger(module, OBOE_DEBUG_MEDIUM, __FILE__, __LINE__, __VA_ARGS__); \
1003
- }
1004
- #else
1005
- # define OBOE_DEBUG_LOG_MEDIUM(module, ...) {}
1006
- #endif
1007
-
1008
- /**
1009
- * Log a high-detail diagnostic message.
1010
- */
1011
- #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_HIGH
1012
- # define OBOE_DEBUG_LOG_HIGH(module, ...) \
1013
- { \
1014
- oboe_debug_logger(module, OBOE_DEBUG_HIGH, __FILE__, __LINE__, __VA_ARGS__); \
1015
- }
1016
- #else
1017
- # define OBOE_DEBUG_LOG_HIGH(module, format_string, ...) {}
1018
- #endif
1019
-
1020
-
1021
- /**
1022
- * Low-level diagnostics logging function.
1023
- *
1024
- * This is normally used only by the OBOE_DEBUG_LOG_* function macros and not used directly.
1025
- *
1026
- * This function may be adapted to format and route diagnostic log messages as desired.
1027
- *
1028
- * @param module One of the numeric module identifiers defined in debug.h - used to control logging detail by module.
1029
- * @param level Diagnostic detail level of this message - used to control logging volume by detail level.
1030
- * @param source_name Name of the source file, if available, or another useful name, or NULL.
1031
- * @param source_lineno Number of the line in the source file where message is logged from, if available, or zero.
1032
- * @param format A C language printf format specification string.
1033
- * @param args A variable argument list in VA_ARG format containing arguments for each argument specifier in the format.
1034
- */
1035
- void oboe_debug_logger(int module, int level, const char *source_name, int source_lineno, const char *format, ...);
1036
-
1037
769
  /**
1038
770
  * Get the Oboe library revision number.
1039
771
  *
@@ -1133,7 +865,7 @@ int oboe_get_profiling_interval();
1133
865
  // Get server warning message
1134
866
  const char* oboe_get_server_warning();
1135
867
 
1136
- // Regex tools
868
+ // Regex tools (Deprecated)
1137
869
  void* oboe_regex_new_expression(const char* exprString);
1138
870
  void oboe_regex_delete_expression(void* expression);
1139
871
  int oboe_regex_match(const char* string, void* expression);
@@ -1144,6 +876,18 @@ oboe_internal_stats_t* oboe_get_internal_stats();
1144
876
  // Random
1145
877
  void oboe_random_bytes(uint8_t bytes[], size_t sz);
1146
878
 
879
+ // oboe logging macro
880
+ #define OBOE_DEBUG_LOG_CONFIG(module, app_name, trace_mode, sample_rate, reporter_type, reporter_args, extra) OBOE_DEBUG_LOG_CONFIG_EX(module, app_name, trace_mode, sample_rate, reporter_type, reporter_args, extra)
881
+ #define OBOE_DEBUG_LOG_FATAL(module, ...) OBOE_DEBUG_LOG_FATAL_EX(module, __VA_ARGS__)
882
+ #define OBOE_DEBUG_LOG_ERROR(module, ...) OBOE_DEBUG_LOG_ERROR_EX(module, __VA_ARGS__)
883
+ #define OBOE_DEBUG_LOG_WARNING(module, ...) OBOE_DEBUG_LOG_WARNING_EX(module, __VA_ARGS__)
884
+ #define OBOE_DEBUG_LOG_INFO(module, ...) OBOE_DEBUG_LOG_INFO_EX(module, __VA_ARGS__)
885
+ #define OBOE_DEBUG_LOG_LOW(module, ...) OBOE_DEBUG_LOG_LOW_EX(module, __VA_ARGS__)
886
+ #define OBOE_DEBUG_LOG_MEDIUM(module, ...) OBOE_DEBUG_LOG_MEDIUM_EX(module, __VA_ARGS__)
887
+ #define OBOE_DEBUG_LOG_HIGH(module, ...) OBOE_DEBUG_LOG_HIGH_EX(module, __VA_ARGS__)
888
+
889
+ void oboe_init_once();
890
+
1147
891
  #ifdef __cplusplus
1148
892
  } // extern "C"
1149
893
  #endif
@@ -530,8 +530,14 @@ MetricTags::MetricTags(size_t count) {
530
530
 
531
531
  MetricTags::~MetricTags() {
532
532
  for (size_t i = 0; i < size; i++) {
533
- delete tags[i].key; tags[i].key = nullptr;
534
- delete tags[i].value; tags[i].value = nullptr;
533
+ if (tags[i].key) {
534
+ free(tags[i].key);
535
+ tags[i].key = nullptr;
536
+ }
537
+ if (tags[i].value) {
538
+ free(tags[i].value);
539
+ tags[i].value = nullptr;
540
+ }
535
541
  }
536
542
  delete[] tags;
537
543
  }
@@ -1,11 +1,3 @@
1
- /**
2
- * @file: debug.h - Diagnostic logging functions for liboboe.
3
- *
4
- * Most of the diagnostics logging interface is defined in oboe.h but we
5
- * separate some of it out here for special handling when generating
6
- * SWIG interfaces.
7
- */
8
-
9
1
  #ifndef _OBOE_DEBUG_H
10
2
  #define _OBOE_DEBUG_H
11
3
 
@@ -13,6 +5,8 @@
13
5
  extern "C" {
14
6
  #endif
15
7
 
8
+ #include <stdbool.h>
9
+
16
10
  /**
17
11
  * Defined diagnostic log detail levels.
18
12
  */
@@ -44,14 +38,287 @@ enum OBOE_DEBUG_MODULE {
44
38
  OBOE_MODULE_PHP, /*!< PHP interpreter */
45
39
  OBOE_MODULE_DOTNET, /*!< dotnet wrapper */
46
40
  OBOE_MODULE_RUBY, /*!< ruby c++ extension */
41
+ OBOE_MODULE_HOST_ID_SERVICE,
42
+ OBOE_MODULE_AWS_RESOURCE_PROVIDER,
43
+ OBOE_MODULE_AZURE_RESOURCE_PROVIDER,
47
44
  };
48
45
 
46
+ /** Compile time debug logging detail level - cannot log more detailed than this. */
47
+ #define OBOE_DEBUG_LEVEL OBOE_DEBUG_HIGH
48
+
49
49
  /**
50
50
  * Initial debug log detail level.
51
51
  *
52
52
  */
53
53
  #define LOGLEVEL_DEFAULT OBOE_DEBUG_INFO
54
54
 
55
+ /** Limit for number of messages at specified level before demoting to debug MEDIUM. */
56
+ #define MAX_DEBUG_MSG_COUNT 1
57
+
58
+ void oboe_debug_log_init(FILE* output);
59
+
60
+ /**
61
+ * Low-level diagnostics logging function.
62
+ *
63
+ * This is normally used only by the OBOE_DEBUG_LOG_* function macros and not used directly.
64
+ *
65
+ * This function may be adapted to format and route diagnostic log messages as desired.
66
+ *
67
+ * @param module One of the numeric module identifiers defined in debug.h - used to control logging detail by module.
68
+ * @param level Diagnostic detail level of this message - used to control logging volume by detail level.
69
+ * @param source_name Name of the source file, if available, or another useful name, or NULL.
70
+ * @param source_lineno Number of the line in the source file where message is logged from, if available, or zero.
71
+ * @param format A C language printf format specification string.
72
+ * @param args A variable argument list in VA_ARG format containing arguments for each argument specifier in the format.
73
+ */
74
+ void oboe_debug_logger(int module, int level, const char *source_name, int source_lineno, const char *format, ...);
75
+
76
+
77
+ /**
78
+ * Prototype for a logger call-back function.
79
+ *
80
+ * A logging function of this form can be added to the logger chain using
81
+ * oboe_debug_log_add().
82
+ *
83
+ * @param context The context pointer that was registered in the call to
84
+ * oboe_debug_log_add(). Use it to pass the pointer-to-self for
85
+ * objects (ie. "this" in C++) or just a structure in C, May be
86
+ * NULL.
87
+ * @param module The module identifier as passed to oboe_debug_logger().
88
+ * @param level The diagnostic detail level as passed to oboe_debug_logger().
89
+ * @param source_name Name of the source file as passed to oboe_debug_logger().
90
+ * @param source_lineno Number of the line in the source file where message is
91
+ * logged from as passed to oboe_debug_logger().
92
+ * @param msg The formatted message produced from the format string and its
93
+ * arguments as passed to oboe_debug_logger().
94
+ */
95
+ typedef void (*OboeDebugLoggerFcn)(void *context, int module, int level, const char *source_name, int source_lineno, const char *msg);
96
+
97
+ /**
98
+ * Get a printable name for a diagnostics logging level.
99
+ */
100
+ const char *oboe_debug_log_level_name(int level);
101
+
102
+ /**
103
+ * Get a printable name for a diagnostics logging module identifier.
104
+ */
105
+ const char *oboe_debug_module_name(int module);
106
+
107
+ /**
108
+ * Get the maximum logging detail level for a module or for all modules.
109
+ *
110
+ * This level applies to the stderr logger only. Added loggers get all messages
111
+ * below their registed detail level and need to do their own module-specific
112
+ * filtering.
113
+ *
114
+ * @param module One of the OBOE_MODULE_* values. Use OBOE_MODULE_ALL (-1) to
115
+ * get the overall maximum detail level.
116
+ * @return Maximum detail level value for module (or overall) where zero is the
117
+ * lowest and higher values generate more detailed log messages.
118
+ */
119
+ int oboe_debug_log_level_get(int module);
120
+
121
+ /**
122
+ * Set the maximum logging detail level for a module or for all modules.
123
+ *
124
+ * This level applies to the stderr logger only. Added loggers get all messages
125
+ * below their registered detail level and need to do their own module-specific
126
+ * filtering.
127
+ *
128
+ * @param module One of the OBOE_MODULE_* values. Use OBOE_MODULE_ALL to set
129
+ * the overall maximum detail level.
130
+ * @param newLevel Maximum detail level value where zero is the lowest and higher
131
+ * values generate more detailed log messages.
132
+ */
133
+ void oboe_debug_log_level_set(FILE* output, int module, int newLevel);
134
+
135
+ /**
136
+ * Set the output stream for the default logger.
137
+ *
138
+ * @param newStream A valid, open FILE* stream or NULL to disable the default logger.
139
+ * @return Zero on success; otherwise an error code (normally from errno).
140
+ */
141
+ int oboe_debug_log_to_stream(FILE *newStream);
142
+
143
+ /**
144
+ * If we're logging to a stream, flush it.
145
+ *
146
+ * @return Zero on success; otherwise an error code (normally from errno).
147
+ */
148
+ int oboe_debug_log_flush();
149
+
150
+ /**
151
+ * Set the default logger to write to the specified file.
152
+ *
153
+ * A NULL or empty path name will disable the default logger.
154
+ *
155
+ * If the file exists then it will be opened in append mode.
156
+ *
157
+ * @param pathname The path name of the
158
+ * @return Zero on success; otherwise an error code (normally from errno).
159
+ */
160
+ int oboe_debug_log_to_file(const char *pathname);
161
+
162
+ /**
163
+ * Add a logger that takes messages up to a given logging detail level.
164
+ *
165
+ * This adds the logger to a chain in order of the logging level. Log messages
166
+ * are passed to each logger down the chain until the remaining loggers only
167
+ * accept messages of a lower detail level.
168
+ *
169
+ * @return Zero on success, one if re-registered with the new logging level, and
170
+ * otherwise a negative value to indicate an error.
171
+ */
172
+ int oboe_debug_log_add(OboeDebugLoggerFcn newLogger, void *context, int logLevel);
173
+
174
+ /**
175
+ * Remove a logger.
176
+ *
177
+ * Remove the logger from the message handling chain.
178
+ *
179
+ * @return Zero on success, one if it was not found, and otherwise a negative
180
+ * value to indicate an error.
181
+ */
182
+ int oboe_debug_log_remove(OboeDebugLoggerFcn oldLogger, void *context);
183
+
184
+ /*
185
+ * Log the application's Oboe configuration.
186
+ *
187
+ * We use this to get a reasonable standard format between apps.
188
+ *
189
+ * @param module An OBOE_MODULE_* module identifier. Use zero for undefined.
190
+ * @param app_name Either NULL or a pointer to a string containing a name for
191
+ * the application - will prefix the log entry. Useful when multiple
192
+ * apps log to the same destination.
193
+ * @param trace_mode A string identifying the configured tracing mode, one of:
194
+ * "enabled", "disabled", "unset", or "undef" (for invalid values)
195
+ * Use the oboe_tracing_mode_to_string() function to convert from
196
+ * numeric values.
197
+ * @param sample_rate The configured sampling rate: -1 for unset or a
198
+ * integer fraction of 1000000.
199
+ * @param reporter_type String identifying the type of reporter configured:
200
+ * One of 'udp' (the default), 'ssl', or 'file'.
201
+ * @param reporter_args The string of comma-separated key=value settings
202
+ * used to initialize the reporter.
203
+ * @param extra: Either NULL or a pointer to a string to be appended to
204
+ * the log message and designed to include a few other
205
+ * configuration parameters of interest.
206
+ */
207
+ #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_INFO
208
+ # define OBOE_DEBUG_LOG_CONFIG_EX(module, app_name, trace_mode, sample_rate, reporter_type, reporter_args, extra) \
209
+ { \
210
+ oboe_debug_logger(module, OBOE_DEBUG_INFO, __FILE__, __LINE__, \
211
+ "%s Oboe config: tracing=%s, sampling=%d, reporter=('%s', '%s') %s", \
212
+ (app_name == NULL ? "" : app_name), \
213
+ trace_mode, \
214
+ sample_rate, \
215
+ (reporter_type == NULL ? "?" : reporter_type), \
216
+ (reporter_args == NULL ? "?" : reporter_args), \
217
+ (extra == NULL ? "" : extra)); \
218
+ }
219
+ #else
220
+ # define OBOE_DEBUG_LOG_CONFIG_EX(module, app_name, trace_mode, sample_rate, reporter_type, reporter_args, extra) {}
221
+ #endif
222
+
223
+ /**
224
+ * Log a fatal error.
225
+ */
226
+ #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_FATAL
227
+ # define OBOE_DEBUG_LOG_FATAL_EX(module, ...) \
228
+ { \
229
+ oboe_debug_logger(module, OBOE_DEBUG_FATAL, __FILE__, __LINE__, __VA_ARGS__); \
230
+ }
231
+ #else
232
+ # define OBOE_DEBUG_LOG_FATAL_EX(module, ...) {}
233
+ #endif
234
+
235
+ /**
236
+ * Log a recoverable error.
237
+ *
238
+ * Each message is limited in the number of times that it will be reported at the
239
+ * ERROR level after which it will be logged at the debug MEDIUM level.
240
+ */
241
+ #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_ERROR
242
+ # define OBOE_DEBUG_LOG_ERROR_EX(module, ...) \
243
+ { \
244
+ static int usage_counter = 0; \
245
+ int loglev = (++usage_counter <= MAX_DEBUG_MSG_COUNT ? OBOE_DEBUG_ERROR : OBOE_DEBUG_MEDIUM); \
246
+ oboe_debug_logger(module, loglev, __FILE__, __LINE__, __VA_ARGS__); \
247
+ }
248
+ #else
249
+ # define OBOE_DEBUG_LOG_ERROR_EX(module, ...) {}
250
+ #endif
251
+
252
+ /**
253
+ * Log a warning.
254
+ *
255
+ * Each message is limited in the number of times that it will be reported at the
256
+ * WARNING level after which it will be logged at the debug MEDIUM level.
257
+ */
258
+ #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_WARNING
259
+ # define OBOE_DEBUG_LOG_WARNING_EX(module, ...) \
260
+ { \
261
+ static int usage_counter = 0; \
262
+ int loglev = (++usage_counter <= MAX_DEBUG_MSG_COUNT ? OBOE_DEBUG_WARNING : OBOE_DEBUG_MEDIUM); \
263
+ oboe_debug_logger(module, loglev, __FILE__, __LINE__, __VA_ARGS__); \
264
+ }
265
+ #else
266
+ # define OBOE_DEBUG_LOG_WARNING_EX(module, ...) {}
267
+ #endif
268
+
269
+ /**
270
+ * Log an informative message.
271
+ *
272
+ * Each message is limited in the number of times that it will be reported at the
273
+ * INFO level after which it will be logged at the debug MEDIUM level.
274
+ */
275
+ #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_INFO
276
+ # define OBOE_DEBUG_LOG_INFO_EX(module, ...) \
277
+ { \
278
+ static int usage_counter = 0; \
279
+ int loglev = (++usage_counter <= MAX_DEBUG_MSG_COUNT ? OBOE_DEBUG_INFO : OBOE_DEBUG_MEDIUM); \
280
+ oboe_debug_logger(module, loglev, __FILE__, __LINE__, __VA_ARGS__); \
281
+ }
282
+ #else
283
+ # define OBOE_DEBUG_LOG_INFO_EX(module, ...) {}
284
+ #endif
285
+
286
+ /**
287
+ * Log a low-detail diagnostic message.
288
+ */
289
+ #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_LOW
290
+ # define OBOE_DEBUG_LOG_LOW_EX(module, ...) \
291
+ { \
292
+ oboe_debug_logger(module, OBOE_DEBUG_LOW, __FILE__, __LINE__, __VA_ARGS__); \
293
+ }
294
+ #else
295
+ # define OBOE_DEBUG_LOG_LOW_EX(module, ...) {}
296
+ #endif
297
+
298
+ /**
299
+ * Log a medium-detail diagnostic message.
300
+ */
301
+ #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_MEDIUM
302
+ # define OBOE_DEBUG_LOG_MEDIUM_EX(module, ...) \
303
+ { \
304
+ oboe_debug_logger(module, OBOE_DEBUG_MEDIUM, __FILE__, __LINE__, __VA_ARGS__); \
305
+ }
306
+ #else
307
+ # define OBOE_DEBUG_LOG_MEDIUM_EX(module, ...) {}
308
+ #endif
309
+
310
+ /**
311
+ * Log a high-detail diagnostic message.
312
+ */
313
+ #if OBOE_DEBUG_LEVEL >= OBOE_DEBUG_HIGH
314
+ # define OBOE_DEBUG_LOG_HIGH_EX(module, ...) \
315
+ { \
316
+ oboe_debug_logger(module, OBOE_DEBUG_HIGH, __FILE__, __LINE__, __VA_ARGS__); \
317
+ }
318
+ #else
319
+ # define OBOE_DEBUG_LOG_HIGH_EX(module, ...) {}
320
+ #endif
321
+
55
322
  #ifdef __cplusplus
56
323
  } // extern "C"
57
324
  #endif
@@ -1848,26 +1848,28 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
1848
1848
  #define SWIGTYPE_p_Context swig_types[1]
1849
1849
  #define SWIGTYPE_p_CustomMetrics swig_types[2]
1850
1850
  #define SWIGTYPE_p_Event swig_types[3]
1851
- #define SWIGTYPE_p_Metadata swig_types[4]
1852
- #define SWIGTYPE_p_MetricTags swig_types[5]
1853
- #define SWIGTYPE_p_Reporter swig_types[6]
1854
- #define SWIGTYPE_p_Span swig_types[7]
1855
- #define SWIGTYPE_p_char swig_types[8]
1856
- #define SWIGTYPE_p_double swig_types[9]
1857
- #define SWIGTYPE_p_int swig_types[10]
1858
- #define SWIGTYPE_p_long swig_types[11]
1859
- #define SWIGTYPE_p_long_long swig_types[12]
1860
- #define SWIGTYPE_p_oboe_metadata_t swig_types[13]
1861
- #define SWIGTYPE_p_oboe_metric_tag_t swig_types[14]
1862
- #define SWIGTYPE_p_short swig_types[15]
1863
- #define SWIGTYPE_p_signed_char swig_types[16]
1864
- #define SWIGTYPE_p_std__string swig_types[17]
1865
- #define SWIGTYPE_p_unsigned_char swig_types[18]
1866
- #define SWIGTYPE_p_unsigned_int swig_types[19]
1867
- #define SWIGTYPE_p_unsigned_long_long swig_types[20]
1868
- #define SWIGTYPE_p_unsigned_short swig_types[21]
1869
- static swig_type_info *swig_types[23];
1870
- static swig_module_info swig_module = {swig_types, 22, 0, 0, 0, 0};
1851
+ #define SWIGTYPE_p_FILE swig_types[4]
1852
+ #define SWIGTYPE_p_Metadata swig_types[5]
1853
+ #define SWIGTYPE_p_MetricTags swig_types[6]
1854
+ #define SWIGTYPE_p_Reporter swig_types[7]
1855
+ #define SWIGTYPE_p_Span swig_types[8]
1856
+ #define SWIGTYPE_p_char swig_types[9]
1857
+ #define SWIGTYPE_p_double swig_types[10]
1858
+ #define SWIGTYPE_p_f_p_void_int_int_p_q_const__char_int_p_q_const__char__void swig_types[11]
1859
+ #define SWIGTYPE_p_int swig_types[12]
1860
+ #define SWIGTYPE_p_long swig_types[13]
1861
+ #define SWIGTYPE_p_long_long swig_types[14]
1862
+ #define SWIGTYPE_p_oboe_metadata_t swig_types[15]
1863
+ #define SWIGTYPE_p_oboe_metric_tag_t swig_types[16]
1864
+ #define SWIGTYPE_p_short swig_types[17]
1865
+ #define SWIGTYPE_p_signed_char swig_types[18]
1866
+ #define SWIGTYPE_p_std__string swig_types[19]
1867
+ #define SWIGTYPE_p_unsigned_char swig_types[20]
1868
+ #define SWIGTYPE_p_unsigned_int swig_types[21]
1869
+ #define SWIGTYPE_p_unsigned_long_long swig_types[22]
1870
+ #define SWIGTYPE_p_unsigned_short swig_types[23]
1871
+ static swig_type_info *swig_types[25];
1872
+ static swig_module_info swig_module = {swig_types, 24, 0, 0, 0, 0};
1871
1873
  #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1872
1874
  #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1873
1875
 
@@ -1916,19 +1918,6 @@ SWIG_From_int (int value)
1916
1918
  }
1917
1919
 
1918
1920
 
1919
- #include <stdint.h> // Use the C99 official header
1920
-
1921
-
1922
- #include <string>
1923
-
1924
-
1925
- SWIGINTERNINLINE VALUE
1926
- SWIG_From_bool (bool value)
1927
- {
1928
- return value ? Qtrue : Qfalse;
1929
- }
1930
-
1931
-
1932
1921
  SWIGINTERN VALUE
1933
1922
  SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
1934
1923
  {
@@ -1982,26 +1971,6 @@ SWIG_AsVal_int (VALUE obj, int *val)
1982
1971
  }
1983
1972
 
1984
1973
 
1985
- SWIGINTERN int
1986
- SWIG_AsVal_bool (VALUE obj, bool *val)
1987
- {
1988
- if (obj == Qtrue) {
1989
- if (val) *val = true;
1990
- return SWIG_OK;
1991
- } else if (obj == Qfalse) {
1992
- if (val) *val = false;
1993
- return SWIG_OK;
1994
- } else {
1995
- int res = 0;
1996
- if (SWIG_AsVal_int (obj, &res) == SWIG_OK) {
1997
- if (val) *val = res ? true : false;
1998
- return SWIG_OK;
1999
- }
2000
- }
2001
- return SWIG_TypeError;
2002
- }
2003
-
2004
-
2005
1974
  SWIGINTERN swig_type_info*
2006
1975
  SWIG_pchar_descriptor(void)
2007
1976
  {
@@ -2049,6 +2018,66 @@ SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
2049
2018
  }
2050
2019
 
2051
2020
 
2021
+
2022
+
2023
+
2024
+ SWIGINTERNINLINE VALUE
2025
+ SWIG_FromCharPtrAndSize(const char* carray, size_t size)
2026
+ {
2027
+ if (carray) {
2028
+ if (size > LONG_MAX) {
2029
+ swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
2030
+ return pchar_descriptor ?
2031
+ SWIG_NewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : Qnil;
2032
+ } else {
2033
+ return rb_str_new(carray, static_cast< long >(size));
2034
+ }
2035
+ } else {
2036
+ return Qnil;
2037
+ }
2038
+ }
2039
+
2040
+
2041
+ SWIGINTERNINLINE VALUE
2042
+ SWIG_FromCharPtr(const char *cptr)
2043
+ {
2044
+ return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
2045
+ }
2046
+
2047
+
2048
+ #include <stdint.h> // Use the C99 official header
2049
+
2050
+
2051
+ #include <string>
2052
+
2053
+
2054
+ SWIGINTERNINLINE VALUE
2055
+ SWIG_From_bool (bool value)
2056
+ {
2057
+ return value ? Qtrue : Qfalse;
2058
+ }
2059
+
2060
+
2061
+ SWIGINTERN int
2062
+ SWIG_AsVal_bool (VALUE obj, bool *val)
2063
+ {
2064
+ if (obj == Qtrue) {
2065
+ if (val) *val = true;
2066
+ return SWIG_OK;
2067
+ } else if (obj == Qfalse) {
2068
+ if (val) *val = false;
2069
+ return SWIG_OK;
2070
+ } else {
2071
+ int res = 0;
2072
+ if (SWIG_AsVal_int (obj, &res) == SWIG_OK) {
2073
+ if (val) *val = res ? true : false;
2074
+ return SWIG_OK;
2075
+ }
2076
+ }
2077
+ return SWIG_TypeError;
2078
+ }
2079
+
2080
+
2052
2081
  SWIGINTERN int
2053
2082
  SWIG_AsPtr_std_string (VALUE obj, std::string **val)
2054
2083
  {
@@ -2080,23 +2109,6 @@ SWIG_AsPtr_std_string (VALUE obj, std::string **val)
2080
2109
  }
2081
2110
 
2082
2111
 
2083
- SWIGINTERNINLINE VALUE
2084
- SWIG_FromCharPtrAndSize(const char* carray, size_t size)
2085
- {
2086
- if (carray) {
2087
- if (size > LONG_MAX) {
2088
- swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
2089
- return pchar_descriptor ?
2090
- SWIG_NewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : Qnil;
2091
- } else {
2092
- return rb_str_new(carray, static_cast< long >(size));
2093
- }
2094
- } else {
2095
- return Qnil;
2096
- }
2097
- }
2098
-
2099
-
2100
2112
  SWIGINTERNINLINE VALUE
2101
2113
  SWIG_From_std_string (const std::string& s)
2102
2114
  {
@@ -2104,9 +2116,6 @@ SWIG_From_std_string (const std::string& s)
2104
2116
  }
2105
2117
 
2106
2118
 
2107
-
2108
-
2109
-
2110
2119
  #define SWIG_From_double rb_float_new
2111
2120
 
2112
2121
 
@@ -2275,6 +2284,329 @@ SWIG_AsVal_size_t (VALUE obj, size_t *val)
2275
2284
  return res;
2276
2285
  }
2277
2286
 
2287
+ SWIGINTERN VALUE
2288
+ _wrap_oboe_debug_log_init(int argc, VALUE *argv, VALUE self) {
2289
+ FILE *arg1 = (FILE *) 0 ;
2290
+ void *argp1 = 0 ;
2291
+ int res1 = 0 ;
2292
+
2293
+ if ((argc < 1) || (argc > 1)) {
2294
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
2295
+ }
2296
+ res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_FILE, 0 | 0 );
2297
+ if (!SWIG_IsOK(res1)) {
2298
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "FILE *","oboe_debug_log_init", 1, argv[0] ));
2299
+ }
2300
+ arg1 = reinterpret_cast< FILE * >(argp1);
2301
+ oboe_debug_log_init(arg1);
2302
+ return Qnil;
2303
+ fail:
2304
+ return Qnil;
2305
+ }
2306
+
2307
+
2308
+ SWIGINTERN VALUE
2309
+ _wrap_oboe_debug_logger(int argc, VALUE *argv, VALUE self) {
2310
+ int arg1 ;
2311
+ int arg2 ;
2312
+ char *arg3 = (char *) 0 ;
2313
+ int arg4 ;
2314
+ char *arg5 = (char *) 0 ;
2315
+ void *arg6 = 0 ;
2316
+ int val1 ;
2317
+ int ecode1 = 0 ;
2318
+ int val2 ;
2319
+ int ecode2 = 0 ;
2320
+ int res3 ;
2321
+ char *buf3 = 0 ;
2322
+ int alloc3 = 0 ;
2323
+ int val4 ;
2324
+ int ecode4 = 0 ;
2325
+ int res5 ;
2326
+ char *buf5 = 0 ;
2327
+ int alloc5 = 0 ;
2328
+
2329
+ if (argc < 5) {
2330
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 5)",argc); SWIG_fail;
2331
+ }
2332
+ ecode1 = SWIG_AsVal_int(argv[0], &val1);
2333
+ if (!SWIG_IsOK(ecode1)) {
2334
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "int","oboe_debug_logger", 1, argv[0] ));
2335
+ }
2336
+ arg1 = static_cast< int >(val1);
2337
+ ecode2 = SWIG_AsVal_int(argv[1], &val2);
2338
+ if (!SWIG_IsOK(ecode2)) {
2339
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","oboe_debug_logger", 2, argv[1] ));
2340
+ }
2341
+ arg2 = static_cast< int >(val2);
2342
+ res3 = SWIG_AsCharPtrAndSize(argv[2], &buf3, NULL, &alloc3);
2343
+ if (!SWIG_IsOK(res3)) {
2344
+ SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "char const *","oboe_debug_logger", 3, argv[2] ));
2345
+ }
2346
+ arg3 = reinterpret_cast< char * >(buf3);
2347
+ ecode4 = SWIG_AsVal_int(argv[3], &val4);
2348
+ if (!SWIG_IsOK(ecode4)) {
2349
+ SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "int","oboe_debug_logger", 4, argv[3] ));
2350
+ }
2351
+ arg4 = static_cast< int >(val4);
2352
+ res5 = SWIG_AsCharPtrAndSize(argv[4], &buf5, NULL, &alloc5);
2353
+ if (!SWIG_IsOK(res5)) {
2354
+ SWIG_exception_fail(SWIG_ArgError(res5), Ruby_Format_TypeError( "", "char const *","oboe_debug_logger", 5, argv[4] ));
2355
+ }
2356
+ arg5 = reinterpret_cast< char * >(buf5);
2357
+ oboe_debug_logger(arg1,arg2,(char const *)arg3,arg4,(char const *)arg5,arg6);
2358
+ if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
2359
+ if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
2360
+ return Qnil;
2361
+ fail:
2362
+ if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
2363
+ if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
2364
+ return Qnil;
2365
+ }
2366
+
2367
+
2368
+ SWIGINTERN VALUE
2369
+ _wrap_oboe_debug_log_level_name(int argc, VALUE *argv, VALUE self) {
2370
+ int arg1 ;
2371
+ int val1 ;
2372
+ int ecode1 = 0 ;
2373
+ char *result = 0 ;
2374
+ VALUE vresult = Qnil;
2375
+
2376
+ if ((argc < 1) || (argc > 1)) {
2377
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
2378
+ }
2379
+ ecode1 = SWIG_AsVal_int(argv[0], &val1);
2380
+ if (!SWIG_IsOK(ecode1)) {
2381
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "int","oboe_debug_log_level_name", 1, argv[0] ));
2382
+ }
2383
+ arg1 = static_cast< int >(val1);
2384
+ result = (char *)oboe_debug_log_level_name(arg1);
2385
+ vresult = SWIG_FromCharPtr((const char *)result);
2386
+ return vresult;
2387
+ fail:
2388
+ return Qnil;
2389
+ }
2390
+
2391
+
2392
+ SWIGINTERN VALUE
2393
+ _wrap_oboe_debug_module_name(int argc, VALUE *argv, VALUE self) {
2394
+ int arg1 ;
2395
+ int val1 ;
2396
+ int ecode1 = 0 ;
2397
+ char *result = 0 ;
2398
+ VALUE vresult = Qnil;
2399
+
2400
+ if ((argc < 1) || (argc > 1)) {
2401
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
2402
+ }
2403
+ ecode1 = SWIG_AsVal_int(argv[0], &val1);
2404
+ if (!SWIG_IsOK(ecode1)) {
2405
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "int","oboe_debug_module_name", 1, argv[0] ));
2406
+ }
2407
+ arg1 = static_cast< int >(val1);
2408
+ result = (char *)oboe_debug_module_name(arg1);
2409
+ vresult = SWIG_FromCharPtr((const char *)result);
2410
+ return vresult;
2411
+ fail:
2412
+ return Qnil;
2413
+ }
2414
+
2415
+
2416
+ SWIGINTERN VALUE
2417
+ _wrap_oboe_debug_log_level_get(int argc, VALUE *argv, VALUE self) {
2418
+ int arg1 ;
2419
+ int val1 ;
2420
+ int ecode1 = 0 ;
2421
+ int result;
2422
+ VALUE vresult = Qnil;
2423
+
2424
+ if ((argc < 1) || (argc > 1)) {
2425
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
2426
+ }
2427
+ ecode1 = SWIG_AsVal_int(argv[0], &val1);
2428
+ if (!SWIG_IsOK(ecode1)) {
2429
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "int","oboe_debug_log_level_get", 1, argv[0] ));
2430
+ }
2431
+ arg1 = static_cast< int >(val1);
2432
+ result = (int)oboe_debug_log_level_get(arg1);
2433
+ vresult = SWIG_From_int(static_cast< int >(result));
2434
+ return vresult;
2435
+ fail:
2436
+ return Qnil;
2437
+ }
2438
+
2439
+
2440
+ SWIGINTERN VALUE
2441
+ _wrap_oboe_debug_log_level_set(int argc, VALUE *argv, VALUE self) {
2442
+ FILE *arg1 = (FILE *) 0 ;
2443
+ int arg2 ;
2444
+ int arg3 ;
2445
+ void *argp1 = 0 ;
2446
+ int res1 = 0 ;
2447
+ int val2 ;
2448
+ int ecode2 = 0 ;
2449
+ int val3 ;
2450
+ int ecode3 = 0 ;
2451
+
2452
+ if ((argc < 3) || (argc > 3)) {
2453
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
2454
+ }
2455
+ res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_FILE, 0 | 0 );
2456
+ if (!SWIG_IsOK(res1)) {
2457
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "FILE *","oboe_debug_log_level_set", 1, argv[0] ));
2458
+ }
2459
+ arg1 = reinterpret_cast< FILE * >(argp1);
2460
+ ecode2 = SWIG_AsVal_int(argv[1], &val2);
2461
+ if (!SWIG_IsOK(ecode2)) {
2462
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","oboe_debug_log_level_set", 2, argv[1] ));
2463
+ }
2464
+ arg2 = static_cast< int >(val2);
2465
+ ecode3 = SWIG_AsVal_int(argv[2], &val3);
2466
+ if (!SWIG_IsOK(ecode3)) {
2467
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "int","oboe_debug_log_level_set", 3, argv[2] ));
2468
+ }
2469
+ arg3 = static_cast< int >(val3);
2470
+ oboe_debug_log_level_set(arg1,arg2,arg3);
2471
+ return Qnil;
2472
+ fail:
2473
+ return Qnil;
2474
+ }
2475
+
2476
+
2477
+ SWIGINTERN VALUE
2478
+ _wrap_oboe_debug_log_to_stream(int argc, VALUE *argv, VALUE self) {
2479
+ FILE *arg1 = (FILE *) 0 ;
2480
+ void *argp1 = 0 ;
2481
+ int res1 = 0 ;
2482
+ int result;
2483
+ VALUE vresult = Qnil;
2484
+
2485
+ if ((argc < 1) || (argc > 1)) {
2486
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
2487
+ }
2488
+ res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_FILE, 0 | 0 );
2489
+ if (!SWIG_IsOK(res1)) {
2490
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "FILE *","oboe_debug_log_to_stream", 1, argv[0] ));
2491
+ }
2492
+ arg1 = reinterpret_cast< FILE * >(argp1);
2493
+ result = (int)oboe_debug_log_to_stream(arg1);
2494
+ vresult = SWIG_From_int(static_cast< int >(result));
2495
+ return vresult;
2496
+ fail:
2497
+ return Qnil;
2498
+ }
2499
+
2500
+
2501
+ SWIGINTERN VALUE
2502
+ _wrap_oboe_debug_log_flush(int argc, VALUE *argv, VALUE self) {
2503
+ int result;
2504
+ VALUE vresult = Qnil;
2505
+
2506
+ if ((argc < 0) || (argc > 0)) {
2507
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
2508
+ }
2509
+ result = (int)oboe_debug_log_flush();
2510
+ vresult = SWIG_From_int(static_cast< int >(result));
2511
+ return vresult;
2512
+ fail:
2513
+ return Qnil;
2514
+ }
2515
+
2516
+
2517
+ SWIGINTERN VALUE
2518
+ _wrap_oboe_debug_log_to_file(int argc, VALUE *argv, VALUE self) {
2519
+ char *arg1 = (char *) 0 ;
2520
+ int res1 ;
2521
+ char *buf1 = 0 ;
2522
+ int alloc1 = 0 ;
2523
+ int result;
2524
+ VALUE vresult = Qnil;
2525
+
2526
+ if ((argc < 1) || (argc > 1)) {
2527
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
2528
+ }
2529
+ res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1);
2530
+ if (!SWIG_IsOK(res1)) {
2531
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "char const *","oboe_debug_log_to_file", 1, argv[0] ));
2532
+ }
2533
+ arg1 = reinterpret_cast< char * >(buf1);
2534
+ result = (int)oboe_debug_log_to_file((char const *)arg1);
2535
+ vresult = SWIG_From_int(static_cast< int >(result));
2536
+ if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
2537
+ return vresult;
2538
+ fail:
2539
+ if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
2540
+ return Qnil;
2541
+ }
2542
+
2543
+
2544
+ SWIGINTERN VALUE
2545
+ _wrap_oboe_debug_log_add(int argc, VALUE *argv, VALUE self) {
2546
+ OboeDebugLoggerFcn arg1 = (OboeDebugLoggerFcn) 0 ;
2547
+ void *arg2 = (void *) 0 ;
2548
+ int arg3 ;
2549
+ int res2 ;
2550
+ int val3 ;
2551
+ int ecode3 = 0 ;
2552
+ int result;
2553
+ VALUE vresult = Qnil;
2554
+
2555
+ if ((argc < 3) || (argc > 3)) {
2556
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
2557
+ }
2558
+ {
2559
+ int res = SWIG_ConvertFunctionPtr(argv[0], (void**)(&arg1), SWIGTYPE_p_f_p_void_int_int_p_q_const__char_int_p_q_const__char__void);
2560
+ if (!SWIG_IsOK(res)) {
2561
+ SWIG_exception_fail(SWIG_ArgError(res), Ruby_Format_TypeError( "", "OboeDebugLoggerFcn","oboe_debug_log_add", 1, argv[0] ));
2562
+ }
2563
+ }
2564
+ res2 = SWIG_ConvertPtr(argv[1],SWIG_as_voidptrptr(&arg2), 0, 0);
2565
+ if (!SWIG_IsOK(res2)) {
2566
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "void *","oboe_debug_log_add", 2, argv[1] ));
2567
+ }
2568
+ ecode3 = SWIG_AsVal_int(argv[2], &val3);
2569
+ if (!SWIG_IsOK(ecode3)) {
2570
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "int","oboe_debug_log_add", 3, argv[2] ));
2571
+ }
2572
+ arg3 = static_cast< int >(val3);
2573
+ result = (int)oboe_debug_log_add(arg1,arg2,arg3);
2574
+ vresult = SWIG_From_int(static_cast< int >(result));
2575
+ return vresult;
2576
+ fail:
2577
+ return Qnil;
2578
+ }
2579
+
2580
+
2581
+ SWIGINTERN VALUE
2582
+ _wrap_oboe_debug_log_remove(int argc, VALUE *argv, VALUE self) {
2583
+ OboeDebugLoggerFcn arg1 = (OboeDebugLoggerFcn) 0 ;
2584
+ void *arg2 = (void *) 0 ;
2585
+ int res2 ;
2586
+ int result;
2587
+ VALUE vresult = Qnil;
2588
+
2589
+ if ((argc < 2) || (argc > 2)) {
2590
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
2591
+ }
2592
+ {
2593
+ int res = SWIG_ConvertFunctionPtr(argv[0], (void**)(&arg1), SWIGTYPE_p_f_p_void_int_int_p_q_const__char_int_p_q_const__char__void);
2594
+ if (!SWIG_IsOK(res)) {
2595
+ SWIG_exception_fail(SWIG_ArgError(res), Ruby_Format_TypeError( "", "OboeDebugLoggerFcn","oboe_debug_log_remove", 1, argv[0] ));
2596
+ }
2597
+ }
2598
+ res2 = SWIG_ConvertPtr(argv[1],SWIG_as_voidptrptr(&arg2), 0, 0);
2599
+ if (!SWIG_IsOK(res2)) {
2600
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "void *","oboe_debug_log_remove", 2, argv[1] ));
2601
+ }
2602
+ result = (int)oboe_debug_log_remove(arg1,arg2);
2603
+ vresult = SWIG_From_int(static_cast< int >(result));
2604
+ return vresult;
2605
+ fail:
2606
+ return Qnil;
2607
+ }
2608
+
2609
+
2278
2610
  static swig_class SwigClassMetadata;
2279
2611
 
2280
2612
  SWIGINTERN VALUE
@@ -7649,12 +7981,14 @@ static swig_type_info _swigt__p_Config = {"_p_Config", "Config *", 0, 0, (void*)
7649
7981
  static swig_type_info _swigt__p_Context = {"_p_Context", "Context *", 0, 0, (void*)0, 0};
7650
7982
  static swig_type_info _swigt__p_CustomMetrics = {"_p_CustomMetrics", "CustomMetrics *", 0, 0, (void*)0, 0};
7651
7983
  static swig_type_info _swigt__p_Event = {"_p_Event", "Event *", 0, 0, (void*)0, 0};
7984
+ static swig_type_info _swigt__p_FILE = {"_p_FILE", "FILE *", 0, 0, (void*)0, 0};
7652
7985
  static swig_type_info _swigt__p_Metadata = {"_p_Metadata", "Metadata *", 0, 0, (void*)0, 0};
7653
7986
  static swig_type_info _swigt__p_MetricTags = {"_p_MetricTags", "MetricTags *", 0, 0, (void*)0, 0};
7654
7987
  static swig_type_info _swigt__p_Reporter = {"_p_Reporter", "Reporter *", 0, 0, (void*)0, 0};
7655
7988
  static swig_type_info _swigt__p_Span = {"_p_Span", "Span *", 0, 0, (void*)0, 0};
7656
7989
  static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
7657
7990
  static swig_type_info _swigt__p_double = {"_p_double", "double *", 0, 0, (void*)0, 0};
7991
+ static swig_type_info _swigt__p_f_p_void_int_int_p_q_const__char_int_p_q_const__char__void = {"_p_f_p_void_int_int_p_q_const__char_int_p_q_const__char__void", "OboeDebugLoggerFcn|void (*)(void *,int,int,char const *,int,char const *)", 0, 0, (void*)0, 0};
7658
7992
  static swig_type_info _swigt__p_int = {"_p_int", "intptr_t *|int *|int_least32_t *|int_fast32_t *|int32_t *|int_fast16_t *", 0, 0, (void*)0, 0};
7659
7993
  static swig_type_info _swigt__p_long = {"_p_long", "long *", 0, 0, (void*)0, 0};
7660
7994
  static swig_type_info _swigt__p_long_long = {"_p_long_long", "int_least64_t *|int_fast64_t *|int64_t *|long long *|intmax_t *", 0, 0, (void*)0, 0};
@@ -7673,12 +8007,14 @@ static swig_type_info *swig_type_initial[] = {
7673
8007
  &_swigt__p_Context,
7674
8008
  &_swigt__p_CustomMetrics,
7675
8009
  &_swigt__p_Event,
8010
+ &_swigt__p_FILE,
7676
8011
  &_swigt__p_Metadata,
7677
8012
  &_swigt__p_MetricTags,
7678
8013
  &_swigt__p_Reporter,
7679
8014
  &_swigt__p_Span,
7680
8015
  &_swigt__p_char,
7681
8016
  &_swigt__p_double,
8017
+ &_swigt__p_f_p_void_int_int_p_q_const__char_int_p_q_const__char__void,
7682
8018
  &_swigt__p_int,
7683
8019
  &_swigt__p_long,
7684
8020
  &_swigt__p_long_long,
@@ -7697,12 +8033,14 @@ static swig_cast_info _swigc__p_Config[] = { {&_swigt__p_Config, 0, 0, 0},{0, 0
7697
8033
  static swig_cast_info _swigc__p_Context[] = { {&_swigt__p_Context, 0, 0, 0},{0, 0, 0, 0}};
7698
8034
  static swig_cast_info _swigc__p_CustomMetrics[] = { {&_swigt__p_CustomMetrics, 0, 0, 0},{0, 0, 0, 0}};
7699
8035
  static swig_cast_info _swigc__p_Event[] = { {&_swigt__p_Event, 0, 0, 0},{0, 0, 0, 0}};
8036
+ static swig_cast_info _swigc__p_FILE[] = { {&_swigt__p_FILE, 0, 0, 0},{0, 0, 0, 0}};
7700
8037
  static swig_cast_info _swigc__p_Metadata[] = { {&_swigt__p_Metadata, 0, 0, 0},{0, 0, 0, 0}};
7701
8038
  static swig_cast_info _swigc__p_MetricTags[] = { {&_swigt__p_MetricTags, 0, 0, 0},{0, 0, 0, 0}};
7702
8039
  static swig_cast_info _swigc__p_Reporter[] = { {&_swigt__p_Reporter, 0, 0, 0},{0, 0, 0, 0}};
7703
8040
  static swig_cast_info _swigc__p_Span[] = { {&_swigt__p_Span, 0, 0, 0},{0, 0, 0, 0}};
7704
8041
  static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
7705
8042
  static swig_cast_info _swigc__p_double[] = { {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}};
8043
+ static swig_cast_info _swigc__p_f_p_void_int_int_p_q_const__char_int_p_q_const__char__void[] = { {&_swigt__p_f_p_void_int_int_p_q_const__char_int_p_q_const__char__void, 0, 0, 0},{0, 0, 0, 0}};
7706
8044
  static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
7707
8045
  static swig_cast_info _swigc__p_long[] = { {&_swigt__p_long, 0, 0, 0},{0, 0, 0, 0}};
7708
8046
  static swig_cast_info _swigc__p_long_long[] = { {&_swigt__p_long_long, 0, 0, 0},{0, 0, 0, 0}};
@@ -7721,12 +8059,14 @@ static swig_cast_info *swig_cast_initial[] = {
7721
8059
  _swigc__p_Context,
7722
8060
  _swigc__p_CustomMetrics,
7723
8061
  _swigc__p_Event,
8062
+ _swigc__p_FILE,
7724
8063
  _swigc__p_Metadata,
7725
8064
  _swigc__p_MetricTags,
7726
8065
  _swigc__p_Reporter,
7727
8066
  _swigc__p_Span,
7728
8067
  _swigc__p_char,
7729
8068
  _swigc__p_double,
8069
+ _swigc__p_f_p_void_int_int_p_q_const__char_int_p_q_const__char__void,
7730
8070
  _swigc__p_int,
7731
8071
  _swigc__p_long,
7732
8072
  _swigc__p_long_long,
@@ -8014,6 +8354,21 @@ SWIGEXPORT void Init_oboe_metal(void) {
8014
8354
  rb_define_const(mOboe_metal, "OBOE_MODULE_PHP", SWIG_From_int(static_cast< int >(OBOE_MODULE_PHP)));
8015
8355
  rb_define_const(mOboe_metal, "OBOE_MODULE_DOTNET", SWIG_From_int(static_cast< int >(OBOE_MODULE_DOTNET)));
8016
8356
  rb_define_const(mOboe_metal, "OBOE_MODULE_RUBY", SWIG_From_int(static_cast< int >(OBOE_MODULE_RUBY)));
8357
+ rb_define_const(mOboe_metal, "OBOE_MODULE_HOST_ID_SERVICE", SWIG_From_int(static_cast< int >(OBOE_MODULE_HOST_ID_SERVICE)));
8358
+ rb_define_const(mOboe_metal, "OBOE_MODULE_AWS_RESOURCE_PROVIDER", SWIG_From_int(static_cast< int >(OBOE_MODULE_AWS_RESOURCE_PROVIDER)));
8359
+ rb_define_const(mOboe_metal, "OBOE_MODULE_AZURE_RESOURCE_PROVIDER", SWIG_From_int(static_cast< int >(OBOE_MODULE_AZURE_RESOURCE_PROVIDER)));
8360
+ rb_define_const(mOboe_metal, "MAX_DEBUG_MSG_COUNT", SWIG_From_int(static_cast< int >(1)));
8361
+ rb_define_module_function(mOboe_metal, "oboe_debug_log_init", VALUEFUNC(_wrap_oboe_debug_log_init), -1);
8362
+ rb_define_module_function(mOboe_metal, "oboe_debug_logger", VALUEFUNC(_wrap_oboe_debug_logger), -1);
8363
+ rb_define_module_function(mOboe_metal, "oboe_debug_log_level_name", VALUEFUNC(_wrap_oboe_debug_log_level_name), -1);
8364
+ rb_define_module_function(mOboe_metal, "oboe_debug_module_name", VALUEFUNC(_wrap_oboe_debug_module_name), -1);
8365
+ rb_define_module_function(mOboe_metal, "oboe_debug_log_level_get", VALUEFUNC(_wrap_oboe_debug_log_level_get), -1);
8366
+ rb_define_module_function(mOboe_metal, "oboe_debug_log_level_set", VALUEFUNC(_wrap_oboe_debug_log_level_set), -1);
8367
+ rb_define_module_function(mOboe_metal, "oboe_debug_log_to_stream", VALUEFUNC(_wrap_oboe_debug_log_to_stream), -1);
8368
+ rb_define_module_function(mOboe_metal, "oboe_debug_log_flush", VALUEFUNC(_wrap_oboe_debug_log_flush), -1);
8369
+ rb_define_module_function(mOboe_metal, "oboe_debug_log_to_file", VALUEFUNC(_wrap_oboe_debug_log_to_file), -1);
8370
+ rb_define_module_function(mOboe_metal, "oboe_debug_log_add", VALUEFUNC(_wrap_oboe_debug_log_add), -1);
8371
+ rb_define_module_function(mOboe_metal, "oboe_debug_log_remove", VALUEFUNC(_wrap_oboe_debug_log_remove), -1);
8017
8372
 
8018
8373
  SwigClassMetadata.klass = rb_define_class_under(mOboe_metal, "Metadata", rb_cObject);
8019
8374
  SWIG_TypeClientData(SWIGTYPE_p_Metadata, (void *) &SwigClassMetadata);
@@ -8,7 +8,7 @@ module SolarWindsAPM
8
8
  module Version
9
9
  MAJOR = 5 # breaking,
10
10
  MINOR = 1 # feature,
11
- PATCH = 6 # fix => BFF
11
+ PATCH = 7 # fix => BFF
12
12
  PRE = nil # for pre-releases into packagecloud, set to nil for production releases into rubygems
13
13
 
14
14
  STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solarwinds_apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.6
4
+ version: 5.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maia Engeli
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2023-03-17 00:00:00.000000000 Z
14
+ date: 2023-04-03 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json