solarwinds_apm 5.1.6 → 5.1.7

Sign up to get free protection for your applications and to get access to all the features.
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