planetscale 0.2.0 → 0.3.3

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.
Files changed (365) hide show
  1. checksums.yaml +4 -4
  2. data/.buildkite/pipeline.yml +21 -0
  3. data/.github/workflows/ci.yml +9 -1
  4. data/.github/workflows/gem-push.yml +9 -2
  5. data/.licenses/go/github.com/matoous/go-nanoid/v2.dep.yml +34 -0
  6. data/.licenses/go/github.com/planetscale/planetscale-go/planetscale.dep.yml +56 -3
  7. data/.licenses/go/github.com/planetscale/sql-proxy/proxy.dep.yml +205 -172
  8. data/.licenses/go/go.uber.org/zap/buffer.dep.yml +1 -1
  9. data/.licenses/go/go.uber.org/zap/internal/bufferpool.dep.yml +1 -1
  10. data/.licenses/go/go.uber.org/zap/internal/color.dep.yml +1 -1
  11. data/.licenses/go/go.uber.org/zap/internal/exit.dep.yml +1 -1
  12. data/.licenses/go/go.uber.org/zap/zapcore.dep.yml +1 -1
  13. data/.licenses/go/go.uber.org/zap.dep.yml +1 -1
  14. data/README.md +11 -8
  15. data/controller.go +24 -26
  16. data/go.mod +4 -3
  17. data/go.sum +42 -27
  18. data/lib/generators/planetscale/install_generator.rb +8 -6
  19. data/lib/planetscale/version.rb +1 -1
  20. data/lib/planetscale.rb +14 -15
  21. data/planetscale.gemspec +2 -2
  22. data/proxy/planetscale-darwin.h +1 -1
  23. data/proxy/planetscale-darwin.so +0 -0
  24. data/proxy/planetscale-linux.h +1 -1
  25. data/proxy/planetscale-linux.so +0 -0
  26. data/proxy.go +1 -5
  27. metadata +6 -342
  28. data/vendor/github.com/armon/circbuf/.gitignore +0 -22
  29. data/vendor/github.com/armon/circbuf/LICENSE +0 -20
  30. data/vendor/github.com/armon/circbuf/README.md +0 -28
  31. data/vendor/github.com/armon/circbuf/circbuf.go +0 -92
  32. data/vendor/github.com/armon/circbuf/go.mod +0 -1
  33. data/vendor/github.com/golang/protobuf/AUTHORS +0 -3
  34. data/vendor/github.com/golang/protobuf/CONTRIBUTORS +0 -3
  35. data/vendor/github.com/golang/protobuf/LICENSE +0 -28
  36. data/vendor/github.com/golang/protobuf/proto/buffer.go +0 -324
  37. data/vendor/github.com/golang/protobuf/proto/defaults.go +0 -63
  38. data/vendor/github.com/golang/protobuf/proto/deprecated.go +0 -113
  39. data/vendor/github.com/golang/protobuf/proto/discard.go +0 -58
  40. data/vendor/github.com/golang/protobuf/proto/extensions.go +0 -356
  41. data/vendor/github.com/golang/protobuf/proto/properties.go +0 -306
  42. data/vendor/github.com/golang/protobuf/proto/proto.go +0 -167
  43. data/vendor/github.com/golang/protobuf/proto/registry.go +0 -317
  44. data/vendor/github.com/golang/protobuf/proto/text_decode.go +0 -801
  45. data/vendor/github.com/golang/protobuf/proto/text_encode.go +0 -560
  46. data/vendor/github.com/golang/protobuf/proto/wire.go +0 -78
  47. data/vendor/github.com/golang/protobuf/proto/wrappers.go +0 -34
  48. data/vendor/github.com/gorilla/mux/AUTHORS +0 -8
  49. data/vendor/github.com/gorilla/mux/LICENSE +0 -27
  50. data/vendor/github.com/gorilla/mux/README.md +0 -805
  51. data/vendor/github.com/gorilla/mux/doc.go +0 -306
  52. data/vendor/github.com/gorilla/mux/go.mod +0 -3
  53. data/vendor/github.com/gorilla/mux/middleware.go +0 -74
  54. data/vendor/github.com/gorilla/mux/mux.go +0 -606
  55. data/vendor/github.com/gorilla/mux/regexp.go +0 -388
  56. data/vendor/github.com/gorilla/mux/route.go +0 -736
  57. data/vendor/github.com/gorilla/mux/test_helpers.go +0 -19
  58. data/vendor/github.com/hashicorp/go-cleanhttp/LICENSE +0 -363
  59. data/vendor/github.com/hashicorp/go-cleanhttp/README.md +0 -30
  60. data/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go +0 -58
  61. data/vendor/github.com/hashicorp/go-cleanhttp/doc.go +0 -20
  62. data/vendor/github.com/hashicorp/go-cleanhttp/go.mod +0 -3
  63. data/vendor/github.com/hashicorp/go-cleanhttp/handlers.go +0 -48
  64. data/vendor/github.com/mitchellh/go-homedir/LICENSE +0 -21
  65. data/vendor/github.com/mitchellh/go-homedir/README.md +0 -14
  66. data/vendor/github.com/mitchellh/go-homedir/go.mod +0 -1
  67. data/vendor/github.com/mitchellh/go-homedir/homedir.go +0 -167
  68. data/vendor/github.com/pkg/errors/.gitignore +0 -24
  69. data/vendor/github.com/pkg/errors/.travis.yml +0 -10
  70. data/vendor/github.com/pkg/errors/LICENSE +0 -23
  71. data/vendor/github.com/pkg/errors/Makefile +0 -44
  72. data/vendor/github.com/pkg/errors/README.md +0 -59
  73. data/vendor/github.com/pkg/errors/appveyor.yml +0 -32
  74. data/vendor/github.com/pkg/errors/errors.go +0 -288
  75. data/vendor/github.com/pkg/errors/go113.go +0 -38
  76. data/vendor/github.com/pkg/errors/stack.go +0 -177
  77. data/vendor/github.com/planetscale/planetscale-go/planetscale/backups.go +0 -139
  78. data/vendor/github.com/planetscale/planetscale-go/planetscale/branches.go +0 -258
  79. data/vendor/github.com/planetscale/planetscale-go/planetscale/certs.go +0 -142
  80. data/vendor/github.com/planetscale/planetscale-go/planetscale/client.go +0 -305
  81. data/vendor/github.com/planetscale/planetscale-go/planetscale/databases.go +0 -131
  82. data/vendor/github.com/planetscale/planetscale-go/planetscale/deploy_requests.go +0 -368
  83. data/vendor/github.com/planetscale/planetscale-go/planetscale/organizations.go +0 -78
  84. data/vendor/github.com/planetscale/planetscale-go/planetscale/service_tokens.go +0 -163
  85. data/vendor/github.com/planetscale/sql-proxy/proxy/client.go +0 -467
  86. data/vendor/github.com/planetscale/sql-proxy/proxy/tls_cache.go +0 -73
  87. data/vendor/go.uber.org/atomic/.codecov.yml +0 -19
  88. data/vendor/go.uber.org/atomic/.gitignore +0 -12
  89. data/vendor/go.uber.org/atomic/.travis.yml +0 -27
  90. data/vendor/go.uber.org/atomic/CHANGELOG.md +0 -76
  91. data/vendor/go.uber.org/atomic/LICENSE.txt +0 -19
  92. data/vendor/go.uber.org/atomic/Makefile +0 -78
  93. data/vendor/go.uber.org/atomic/README.md +0 -63
  94. data/vendor/go.uber.org/atomic/bool.go +0 -81
  95. data/vendor/go.uber.org/atomic/bool_ext.go +0 -53
  96. data/vendor/go.uber.org/atomic/doc.go +0 -23
  97. data/vendor/go.uber.org/atomic/duration.go +0 -82
  98. data/vendor/go.uber.org/atomic/duration_ext.go +0 -40
  99. data/vendor/go.uber.org/atomic/error.go +0 -51
  100. data/vendor/go.uber.org/atomic/error_ext.go +0 -39
  101. data/vendor/go.uber.org/atomic/float64.go +0 -76
  102. data/vendor/go.uber.org/atomic/float64_ext.go +0 -47
  103. data/vendor/go.uber.org/atomic/gen.go +0 -26
  104. data/vendor/go.uber.org/atomic/go.mod +0 -8
  105. data/vendor/go.uber.org/atomic/go.sum +0 -9
  106. data/vendor/go.uber.org/atomic/int32.go +0 -102
  107. data/vendor/go.uber.org/atomic/int64.go +0 -102
  108. data/vendor/go.uber.org/atomic/nocmp.go +0 -35
  109. data/vendor/go.uber.org/atomic/string.go +0 -54
  110. data/vendor/go.uber.org/atomic/string_ext.go +0 -43
  111. data/vendor/go.uber.org/atomic/uint32.go +0 -102
  112. data/vendor/go.uber.org/atomic/uint64.go +0 -102
  113. data/vendor/go.uber.org/atomic/value.go +0 -31
  114. data/vendor/go.uber.org/multierr/.codecov.yml +0 -15
  115. data/vendor/go.uber.org/multierr/.gitignore +0 -4
  116. data/vendor/go.uber.org/multierr/.travis.yml +0 -23
  117. data/vendor/go.uber.org/multierr/CHANGELOG.md +0 -60
  118. data/vendor/go.uber.org/multierr/LICENSE.txt +0 -19
  119. data/vendor/go.uber.org/multierr/Makefile +0 -42
  120. data/vendor/go.uber.org/multierr/README.md +0 -23
  121. data/vendor/go.uber.org/multierr/error.go +0 -449
  122. data/vendor/go.uber.org/multierr/glide.yaml +0 -8
  123. data/vendor/go.uber.org/multierr/go.mod +0 -8
  124. data/vendor/go.uber.org/multierr/go.sum +0 -11
  125. data/vendor/go.uber.org/multierr/go113.go +0 -52
  126. data/vendor/go.uber.org/zap/.codecov.yml +0 -17
  127. data/vendor/go.uber.org/zap/.gitignore +0 -32
  128. data/vendor/go.uber.org/zap/.readme.tmpl +0 -109
  129. data/vendor/go.uber.org/zap/.travis.yml +0 -23
  130. data/vendor/go.uber.org/zap/CHANGELOG.md +0 -432
  131. data/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md +0 -75
  132. data/vendor/go.uber.org/zap/CONTRIBUTING.md +0 -81
  133. data/vendor/go.uber.org/zap/FAQ.md +0 -156
  134. data/vendor/go.uber.org/zap/LICENSE.txt +0 -19
  135. data/vendor/go.uber.org/zap/Makefile +0 -63
  136. data/vendor/go.uber.org/zap/README.md +0 -134
  137. data/vendor/go.uber.org/zap/array.go +0 -320
  138. data/vendor/go.uber.org/zap/buffer/buffer.go +0 -123
  139. data/vendor/go.uber.org/zap/buffer/pool.go +0 -49
  140. data/vendor/go.uber.org/zap/checklicense.sh +0 -17
  141. data/vendor/go.uber.org/zap/config.go +0 -264
  142. data/vendor/go.uber.org/zap/doc.go +0 -113
  143. data/vendor/go.uber.org/zap/encoder.go +0 -79
  144. data/vendor/go.uber.org/zap/error.go +0 -80
  145. data/vendor/go.uber.org/zap/field.go +0 -539
  146. data/vendor/go.uber.org/zap/flag.go +0 -39
  147. data/vendor/go.uber.org/zap/glide.yaml +0 -34
  148. data/vendor/go.uber.org/zap/global.go +0 -168
  149. data/vendor/go.uber.org/zap/global_go112.go +0 -26
  150. data/vendor/go.uber.org/zap/global_prego112.go +0 -26
  151. data/vendor/go.uber.org/zap/go.mod +0 -13
  152. data/vendor/go.uber.org/zap/go.sum +0 -56
  153. data/vendor/go.uber.org/zap/http_handler.go +0 -81
  154. data/vendor/go.uber.org/zap/internal/bufferpool/bufferpool.go +0 -31
  155. data/vendor/go.uber.org/zap/internal/color/color.go +0 -44
  156. data/vendor/go.uber.org/zap/internal/exit/exit.go +0 -64
  157. data/vendor/go.uber.org/zap/level.go +0 -132
  158. data/vendor/go.uber.org/zap/logger.go +0 -344
  159. data/vendor/go.uber.org/zap/options.go +0 -140
  160. data/vendor/go.uber.org/zap/sink.go +0 -161
  161. data/vendor/go.uber.org/zap/stacktrace.go +0 -85
  162. data/vendor/go.uber.org/zap/sugar.go +0 -304
  163. data/vendor/go.uber.org/zap/time.go +0 -27
  164. data/vendor/go.uber.org/zap/writer.go +0 -99
  165. data/vendor/go.uber.org/zap/zapcore/console_encoder.go +0 -161
  166. data/vendor/go.uber.org/zap/zapcore/core.go +0 -113
  167. data/vendor/go.uber.org/zap/zapcore/doc.go +0 -24
  168. data/vendor/go.uber.org/zap/zapcore/encoder.go +0 -443
  169. data/vendor/go.uber.org/zap/zapcore/entry.go +0 -264
  170. data/vendor/go.uber.org/zap/zapcore/error.go +0 -115
  171. data/vendor/go.uber.org/zap/zapcore/field.go +0 -227
  172. data/vendor/go.uber.org/zap/zapcore/hook.go +0 -68
  173. data/vendor/go.uber.org/zap/zapcore/increase_level.go +0 -66
  174. data/vendor/go.uber.org/zap/zapcore/json_encoder.go +0 -534
  175. data/vendor/go.uber.org/zap/zapcore/level.go +0 -175
  176. data/vendor/go.uber.org/zap/zapcore/level_strings.go +0 -46
  177. data/vendor/go.uber.org/zap/zapcore/marshaler.go +0 -61
  178. data/vendor/go.uber.org/zap/zapcore/memory_encoder.go +0 -179
  179. data/vendor/go.uber.org/zap/zapcore/sampler.go +0 -208
  180. data/vendor/go.uber.org/zap/zapcore/tee.go +0 -81
  181. data/vendor/go.uber.org/zap/zapcore/write_syncer.go +0 -123
  182. data/vendor/golang.org/x/net/AUTHORS +0 -3
  183. data/vendor/golang.org/x/net/CONTRIBUTORS +0 -3
  184. data/vendor/golang.org/x/net/LICENSE +0 -27
  185. data/vendor/golang.org/x/net/PATENTS +0 -22
  186. data/vendor/golang.org/x/net/context/context.go +0 -56
  187. data/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +0 -71
  188. data/vendor/golang.org/x/net/context/go17.go +0 -73
  189. data/vendor/golang.org/x/net/context/go19.go +0 -21
  190. data/vendor/golang.org/x/net/context/pre_go17.go +0 -301
  191. data/vendor/golang.org/x/net/context/pre_go19.go +0 -110
  192. data/vendor/golang.org/x/oauth2/.travis.yml +0 -13
  193. data/vendor/golang.org/x/oauth2/AUTHORS +0 -3
  194. data/vendor/golang.org/x/oauth2/CONTRIBUTING.md +0 -26
  195. data/vendor/golang.org/x/oauth2/CONTRIBUTORS +0 -3
  196. data/vendor/golang.org/x/oauth2/LICENSE +0 -27
  197. data/vendor/golang.org/x/oauth2/README.md +0 -36
  198. data/vendor/golang.org/x/oauth2/go.mod +0 -9
  199. data/vendor/golang.org/x/oauth2/go.sum +0 -361
  200. data/vendor/golang.org/x/oauth2/internal/client_appengine.go +0 -14
  201. data/vendor/golang.org/x/oauth2/internal/doc.go +0 -6
  202. data/vendor/golang.org/x/oauth2/internal/oauth2.go +0 -37
  203. data/vendor/golang.org/x/oauth2/internal/token.go +0 -294
  204. data/vendor/golang.org/x/oauth2/internal/transport.go +0 -33
  205. data/vendor/golang.org/x/oauth2/oauth2.go +0 -381
  206. data/vendor/golang.org/x/oauth2/token.go +0 -178
  207. data/vendor/golang.org/x/oauth2/transport.go +0 -89
  208. data/vendor/google.golang.org/appengine/LICENSE +0 -202
  209. data/vendor/google.golang.org/appengine/internal/api.go +0 -678
  210. data/vendor/google.golang.org/appengine/internal/api_classic.go +0 -169
  211. data/vendor/google.golang.org/appengine/internal/api_common.go +0 -123
  212. data/vendor/google.golang.org/appengine/internal/app_id.go +0 -28
  213. data/vendor/google.golang.org/appengine/internal/base/api_base.pb.go +0 -308
  214. data/vendor/google.golang.org/appengine/internal/base/api_base.proto +0 -33
  215. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go +0 -4367
  216. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto +0 -551
  217. data/vendor/google.golang.org/appengine/internal/identity.go +0 -55
  218. data/vendor/google.golang.org/appengine/internal/identity_classic.go +0 -61
  219. data/vendor/google.golang.org/appengine/internal/identity_flex.go +0 -11
  220. data/vendor/google.golang.org/appengine/internal/identity_vm.go +0 -134
  221. data/vendor/google.golang.org/appengine/internal/internal.go +0 -110
  222. data/vendor/google.golang.org/appengine/internal/log/log_service.pb.go +0 -1313
  223. data/vendor/google.golang.org/appengine/internal/log/log_service.proto +0 -150
  224. data/vendor/google.golang.org/appengine/internal/main.go +0 -16
  225. data/vendor/google.golang.org/appengine/internal/main_common.go +0 -7
  226. data/vendor/google.golang.org/appengine/internal/main_vm.go +0 -69
  227. data/vendor/google.golang.org/appengine/internal/metadata.go +0 -60
  228. data/vendor/google.golang.org/appengine/internal/net.go +0 -56
  229. data/vendor/google.golang.org/appengine/internal/regen.sh +0 -40
  230. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go +0 -361
  231. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto +0 -44
  232. data/vendor/google.golang.org/appengine/internal/transaction.go +0 -115
  233. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go +0 -527
  234. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +0 -64
  235. data/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +0 -210
  236. data/vendor/google.golang.org/protobuf/AUTHORS +0 -3
  237. data/vendor/google.golang.org/protobuf/CONTRIBUTORS +0 -3
  238. data/vendor/google.golang.org/protobuf/LICENSE +0 -27
  239. data/vendor/google.golang.org/protobuf/PATENTS +0 -22
  240. data/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +0 -773
  241. data/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +0 -7
  242. data/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +0 -371
  243. data/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +0 -538
  244. data/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +0 -318
  245. data/vendor/google.golang.org/protobuf/internal/descopts/options.go +0 -29
  246. data/vendor/google.golang.org/protobuf/internal/detrand/rand.go +0 -69
  247. data/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +0 -213
  248. data/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +0 -241
  249. data/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +0 -207
  250. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +0 -665
  251. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +0 -190
  252. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +0 -161
  253. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +0 -373
  254. data/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +0 -29
  255. data/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +0 -265
  256. data/vendor/google.golang.org/protobuf/internal/errors/errors.go +0 -89
  257. data/vendor/google.golang.org/protobuf/internal/errors/is_go112.go +0 -39
  258. data/vendor/google.golang.org/protobuf/internal/errors/is_go113.go +0 -12
  259. data/vendor/google.golang.org/protobuf/internal/filedesc/build.go +0 -158
  260. data/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +0 -631
  261. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +0 -471
  262. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +0 -704
  263. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +0 -450
  264. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +0 -356
  265. data/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +0 -107
  266. data/vendor/google.golang.org/protobuf/internal/filetype/build.go +0 -297
  267. data/vendor/google.golang.org/protobuf/internal/flags/flags.go +0 -24
  268. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +0 -9
  269. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +0 -9
  270. data/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +0 -34
  271. data/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +0 -106
  272. data/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +0 -829
  273. data/vendor/google.golang.org/protobuf/internal/genid/doc.go +0 -11
  274. data/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +0 -34
  275. data/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +0 -19
  276. data/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +0 -31
  277. data/vendor/google.golang.org/protobuf/internal/genid/goname.go +0 -25
  278. data/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +0 -16
  279. data/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +0 -31
  280. data/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +0 -116
  281. data/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +0 -34
  282. data/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +0 -184
  283. data/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +0 -13
  284. data/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +0 -175
  285. data/vendor/google.golang.org/protobuf/internal/impl/api_export.go +0 -177
  286. data/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +0 -141
  287. data/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +0 -223
  288. data/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +0 -830
  289. data/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +0 -5637
  290. data/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +0 -388
  291. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go +0 -37
  292. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go +0 -11
  293. data/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +0 -217
  294. data/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +0 -123
  295. data/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go +0 -209
  296. data/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +0 -557
  297. data/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +0 -17
  298. data/vendor/google.golang.org/protobuf/internal/impl/convert.go +0 -496
  299. data/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +0 -141
  300. data/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +0 -121
  301. data/vendor/google.golang.org/protobuf/internal/impl/decode.go +0 -276
  302. data/vendor/google.golang.org/protobuf/internal/impl/encode.go +0 -201
  303. data/vendor/google.golang.org/protobuf/internal/impl/enum.go +0 -21
  304. data/vendor/google.golang.org/protobuf/internal/impl/extension.go +0 -156
  305. data/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +0 -219
  306. data/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +0 -92
  307. data/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +0 -176
  308. data/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +0 -81
  309. data/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +0 -558
  310. data/vendor/google.golang.org/protobuf/internal/impl/merge.go +0 -176
  311. data/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +0 -209
  312. data/vendor/google.golang.org/protobuf/internal/impl/message.go +0 -276
  313. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +0 -465
  314. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +0 -543
  315. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +0 -249
  316. data/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go +0 -178
  317. data/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +0 -174
  318. data/vendor/google.golang.org/protobuf/internal/impl/validate.go +0 -576
  319. data/vendor/google.golang.org/protobuf/internal/impl/weak.go +0 -74
  320. data/vendor/google.golang.org/protobuf/internal/order/order.go +0 -89
  321. data/vendor/google.golang.org/protobuf/internal/order/range.go +0 -115
  322. data/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +0 -29
  323. data/vendor/google.golang.org/protobuf/internal/set/ints.go +0 -58
  324. data/vendor/google.golang.org/protobuf/internal/strs/strings.go +0 -196
  325. data/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go +0 -27
  326. data/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +0 -94
  327. data/vendor/google.golang.org/protobuf/internal/version/version.go +0 -79
  328. data/vendor/google.golang.org/protobuf/proto/checkinit.go +0 -71
  329. data/vendor/google.golang.org/protobuf/proto/decode.go +0 -278
  330. data/vendor/google.golang.org/protobuf/proto/decode_gen.go +0 -603
  331. data/vendor/google.golang.org/protobuf/proto/doc.go +0 -94
  332. data/vendor/google.golang.org/protobuf/proto/encode.go +0 -319
  333. data/vendor/google.golang.org/protobuf/proto/encode_gen.go +0 -97
  334. data/vendor/google.golang.org/protobuf/proto/equal.go +0 -167
  335. data/vendor/google.golang.org/protobuf/proto/extension.go +0 -92
  336. data/vendor/google.golang.org/protobuf/proto/merge.go +0 -139
  337. data/vendor/google.golang.org/protobuf/proto/messageset.go +0 -93
  338. data/vendor/google.golang.org/protobuf/proto/proto.go +0 -43
  339. data/vendor/google.golang.org/protobuf/proto/proto_methods.go +0 -19
  340. data/vendor/google.golang.org/protobuf/proto/proto_reflect.go +0 -19
  341. data/vendor/google.golang.org/protobuf/proto/reset.go +0 -43
  342. data/vendor/google.golang.org/protobuf/proto/size.go +0 -97
  343. data/vendor/google.golang.org/protobuf/proto/size_gen.go +0 -55
  344. data/vendor/google.golang.org/protobuf/proto/wrappers.go +0 -29
  345. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go +0 -276
  346. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go +0 -248
  347. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go +0 -286
  348. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go +0 -374
  349. data/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go +0 -252
  350. data/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +0 -77
  351. data/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +0 -504
  352. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +0 -128
  353. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +0 -461
  354. data/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +0 -665
  355. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +0 -285
  356. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go +0 -59
  357. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +0 -411
  358. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +0 -98
  359. data/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +0 -869
  360. data/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +0 -15
  361. data/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +0 -167
  362. data/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +0 -44
  363. data/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +0 -56
  364. data/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go +0 -4039
  365. data/vendor/modules.txt +0 -79
@@ -1,175 +0,0 @@
1
- // Copyright (c) 2016 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- package zapcore
22
-
23
- import (
24
- "bytes"
25
- "errors"
26
- "fmt"
27
- )
28
-
29
- var errUnmarshalNilLevel = errors.New("can't unmarshal a nil *Level")
30
-
31
- // A Level is a logging priority. Higher levels are more important.
32
- type Level int8
33
-
34
- const (
35
- // DebugLevel logs are typically voluminous, and are usually disabled in
36
- // production.
37
- DebugLevel Level = iota - 1
38
- // InfoLevel is the default logging priority.
39
- InfoLevel
40
- // WarnLevel logs are more important than Info, but don't need individual
41
- // human review.
42
- WarnLevel
43
- // ErrorLevel logs are high-priority. If an application is running smoothly,
44
- // it shouldn't generate any error-level logs.
45
- ErrorLevel
46
- // DPanicLevel logs are particularly important errors. In development the
47
- // logger panics after writing the message.
48
- DPanicLevel
49
- // PanicLevel logs a message, then panics.
50
- PanicLevel
51
- // FatalLevel logs a message, then calls os.Exit(1).
52
- FatalLevel
53
-
54
- _minLevel = DebugLevel
55
- _maxLevel = FatalLevel
56
- )
57
-
58
- // String returns a lower-case ASCII representation of the log level.
59
- func (l Level) String() string {
60
- switch l {
61
- case DebugLevel:
62
- return "debug"
63
- case InfoLevel:
64
- return "info"
65
- case WarnLevel:
66
- return "warn"
67
- case ErrorLevel:
68
- return "error"
69
- case DPanicLevel:
70
- return "dpanic"
71
- case PanicLevel:
72
- return "panic"
73
- case FatalLevel:
74
- return "fatal"
75
- default:
76
- return fmt.Sprintf("Level(%d)", l)
77
- }
78
- }
79
-
80
- // CapitalString returns an all-caps ASCII representation of the log level.
81
- func (l Level) CapitalString() string {
82
- // Printing levels in all-caps is common enough that we should export this
83
- // functionality.
84
- switch l {
85
- case DebugLevel:
86
- return "DEBUG"
87
- case InfoLevel:
88
- return "INFO"
89
- case WarnLevel:
90
- return "WARN"
91
- case ErrorLevel:
92
- return "ERROR"
93
- case DPanicLevel:
94
- return "DPANIC"
95
- case PanicLevel:
96
- return "PANIC"
97
- case FatalLevel:
98
- return "FATAL"
99
- default:
100
- return fmt.Sprintf("LEVEL(%d)", l)
101
- }
102
- }
103
-
104
- // MarshalText marshals the Level to text. Note that the text representation
105
- // drops the -Level suffix (see example).
106
- func (l Level) MarshalText() ([]byte, error) {
107
- return []byte(l.String()), nil
108
- }
109
-
110
- // UnmarshalText unmarshals text to a level. Like MarshalText, UnmarshalText
111
- // expects the text representation of a Level to drop the -Level suffix (see
112
- // example).
113
- //
114
- // In particular, this makes it easy to configure logging levels using YAML,
115
- // TOML, or JSON files.
116
- func (l *Level) UnmarshalText(text []byte) error {
117
- if l == nil {
118
- return errUnmarshalNilLevel
119
- }
120
- if !l.unmarshalText(text) && !l.unmarshalText(bytes.ToLower(text)) {
121
- return fmt.Errorf("unrecognized level: %q", text)
122
- }
123
- return nil
124
- }
125
-
126
- func (l *Level) unmarshalText(text []byte) bool {
127
- switch string(text) {
128
- case "debug", "DEBUG":
129
- *l = DebugLevel
130
- case "info", "INFO", "": // make the zero value useful
131
- *l = InfoLevel
132
- case "warn", "WARN":
133
- *l = WarnLevel
134
- case "error", "ERROR":
135
- *l = ErrorLevel
136
- case "dpanic", "DPANIC":
137
- *l = DPanicLevel
138
- case "panic", "PANIC":
139
- *l = PanicLevel
140
- case "fatal", "FATAL":
141
- *l = FatalLevel
142
- default:
143
- return false
144
- }
145
- return true
146
- }
147
-
148
- // Set sets the level for the flag.Value interface.
149
- func (l *Level) Set(s string) error {
150
- return l.UnmarshalText([]byte(s))
151
- }
152
-
153
- // Get gets the level for the flag.Getter interface.
154
- func (l *Level) Get() interface{} {
155
- return *l
156
- }
157
-
158
- // Enabled returns true if the given level is at or above this level.
159
- func (l Level) Enabled(lvl Level) bool {
160
- return lvl >= l
161
- }
162
-
163
- // LevelEnabler decides whether a given logging level is enabled when logging a
164
- // message.
165
- //
166
- // Enablers are intended to be used to implement deterministic filters;
167
- // concerns like sampling are better implemented as a Core.
168
- //
169
- // Each concrete Level value implements a static LevelEnabler which returns
170
- // true for itself and all higher logging levels. For example WarnLevel.Enabled()
171
- // will return true for WarnLevel, ErrorLevel, DPanicLevel, PanicLevel, and
172
- // FatalLevel, but return false for InfoLevel and DebugLevel.
173
- type LevelEnabler interface {
174
- Enabled(Level) bool
175
- }
@@ -1,46 +0,0 @@
1
- // Copyright (c) 2016 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- package zapcore
22
-
23
- import "go.uber.org/zap/internal/color"
24
-
25
- var (
26
- _levelToColor = map[Level]color.Color{
27
- DebugLevel: color.Magenta,
28
- InfoLevel: color.Blue,
29
- WarnLevel: color.Yellow,
30
- ErrorLevel: color.Red,
31
- DPanicLevel: color.Red,
32
- PanicLevel: color.Red,
33
- FatalLevel: color.Red,
34
- }
35
- _unknownLevelColor = color.Red
36
-
37
- _levelToLowercaseColorString = make(map[Level]string, len(_levelToColor))
38
- _levelToCapitalColorString = make(map[Level]string, len(_levelToColor))
39
- )
40
-
41
- func init() {
42
- for level, color := range _levelToColor {
43
- _levelToLowercaseColorString[level] = color.Add(level.String())
44
- _levelToCapitalColorString[level] = color.Add(level.CapitalString())
45
- }
46
- }
@@ -1,61 +0,0 @@
1
- // Copyright (c) 2016 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- package zapcore
22
-
23
- // ObjectMarshaler allows user-defined types to efficiently add themselves to the
24
- // logging context, and to selectively omit information which shouldn't be
25
- // included in logs (e.g., passwords).
26
- //
27
- // Note: ObjectMarshaler is only used when zap.Object is used or when
28
- // passed directly to zap.Any. It is not used when reflection-based
29
- // encoding is used.
30
- type ObjectMarshaler interface {
31
- MarshalLogObject(ObjectEncoder) error
32
- }
33
-
34
- // ObjectMarshalerFunc is a type adapter that turns a function into an
35
- // ObjectMarshaler.
36
- type ObjectMarshalerFunc func(ObjectEncoder) error
37
-
38
- // MarshalLogObject calls the underlying function.
39
- func (f ObjectMarshalerFunc) MarshalLogObject(enc ObjectEncoder) error {
40
- return f(enc)
41
- }
42
-
43
- // ArrayMarshaler allows user-defined types to efficiently add themselves to the
44
- // logging context, and to selectively omit information which shouldn't be
45
- // included in logs (e.g., passwords).
46
- //
47
- // Note: ArrayMarshaler is only used when zap.Array is used or when
48
- // passed directly to zap.Any. It is not used when reflection-based
49
- // encoding is used.
50
- type ArrayMarshaler interface {
51
- MarshalLogArray(ArrayEncoder) error
52
- }
53
-
54
- // ArrayMarshalerFunc is a type adapter that turns a function into an
55
- // ArrayMarshaler.
56
- type ArrayMarshalerFunc func(ArrayEncoder) error
57
-
58
- // MarshalLogArray calls the underlying function.
59
- func (f ArrayMarshalerFunc) MarshalLogArray(enc ArrayEncoder) error {
60
- return f(enc)
61
- }
@@ -1,179 +0,0 @@
1
- // Copyright (c) 2016 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- package zapcore
22
-
23
- import "time"
24
-
25
- // MapObjectEncoder is an ObjectEncoder backed by a simple
26
- // map[string]interface{}. It's not fast enough for production use, but it's
27
- // helpful in tests.
28
- type MapObjectEncoder struct {
29
- // Fields contains the entire encoded log context.
30
- Fields map[string]interface{}
31
- // cur is a pointer to the namespace we're currently writing to.
32
- cur map[string]interface{}
33
- }
34
-
35
- // NewMapObjectEncoder creates a new map-backed ObjectEncoder.
36
- func NewMapObjectEncoder() *MapObjectEncoder {
37
- m := make(map[string]interface{})
38
- return &MapObjectEncoder{
39
- Fields: m,
40
- cur: m,
41
- }
42
- }
43
-
44
- // AddArray implements ObjectEncoder.
45
- func (m *MapObjectEncoder) AddArray(key string, v ArrayMarshaler) error {
46
- arr := &sliceArrayEncoder{elems: make([]interface{}, 0)}
47
- err := v.MarshalLogArray(arr)
48
- m.cur[key] = arr.elems
49
- return err
50
- }
51
-
52
- // AddObject implements ObjectEncoder.
53
- func (m *MapObjectEncoder) AddObject(k string, v ObjectMarshaler) error {
54
- newMap := NewMapObjectEncoder()
55
- m.cur[k] = newMap.Fields
56
- return v.MarshalLogObject(newMap)
57
- }
58
-
59
- // AddBinary implements ObjectEncoder.
60
- func (m *MapObjectEncoder) AddBinary(k string, v []byte) { m.cur[k] = v }
61
-
62
- // AddByteString implements ObjectEncoder.
63
- func (m *MapObjectEncoder) AddByteString(k string, v []byte) { m.cur[k] = string(v) }
64
-
65
- // AddBool implements ObjectEncoder.
66
- func (m *MapObjectEncoder) AddBool(k string, v bool) { m.cur[k] = v }
67
-
68
- // AddDuration implements ObjectEncoder.
69
- func (m MapObjectEncoder) AddDuration(k string, v time.Duration) { m.cur[k] = v }
70
-
71
- // AddComplex128 implements ObjectEncoder.
72
- func (m *MapObjectEncoder) AddComplex128(k string, v complex128) { m.cur[k] = v }
73
-
74
- // AddComplex64 implements ObjectEncoder.
75
- func (m *MapObjectEncoder) AddComplex64(k string, v complex64) { m.cur[k] = v }
76
-
77
- // AddFloat64 implements ObjectEncoder.
78
- func (m *MapObjectEncoder) AddFloat64(k string, v float64) { m.cur[k] = v }
79
-
80
- // AddFloat32 implements ObjectEncoder.
81
- func (m *MapObjectEncoder) AddFloat32(k string, v float32) { m.cur[k] = v }
82
-
83
- // AddInt implements ObjectEncoder.
84
- func (m *MapObjectEncoder) AddInt(k string, v int) { m.cur[k] = v }
85
-
86
- // AddInt64 implements ObjectEncoder.
87
- func (m *MapObjectEncoder) AddInt64(k string, v int64) { m.cur[k] = v }
88
-
89
- // AddInt32 implements ObjectEncoder.
90
- func (m *MapObjectEncoder) AddInt32(k string, v int32) { m.cur[k] = v }
91
-
92
- // AddInt16 implements ObjectEncoder.
93
- func (m *MapObjectEncoder) AddInt16(k string, v int16) { m.cur[k] = v }
94
-
95
- // AddInt8 implements ObjectEncoder.
96
- func (m *MapObjectEncoder) AddInt8(k string, v int8) { m.cur[k] = v }
97
-
98
- // AddString implements ObjectEncoder.
99
- func (m *MapObjectEncoder) AddString(k string, v string) { m.cur[k] = v }
100
-
101
- // AddTime implements ObjectEncoder.
102
- func (m MapObjectEncoder) AddTime(k string, v time.Time) { m.cur[k] = v }
103
-
104
- // AddUint implements ObjectEncoder.
105
- func (m *MapObjectEncoder) AddUint(k string, v uint) { m.cur[k] = v }
106
-
107
- // AddUint64 implements ObjectEncoder.
108
- func (m *MapObjectEncoder) AddUint64(k string, v uint64) { m.cur[k] = v }
109
-
110
- // AddUint32 implements ObjectEncoder.
111
- func (m *MapObjectEncoder) AddUint32(k string, v uint32) { m.cur[k] = v }
112
-
113
- // AddUint16 implements ObjectEncoder.
114
- func (m *MapObjectEncoder) AddUint16(k string, v uint16) { m.cur[k] = v }
115
-
116
- // AddUint8 implements ObjectEncoder.
117
- func (m *MapObjectEncoder) AddUint8(k string, v uint8) { m.cur[k] = v }
118
-
119
- // AddUintptr implements ObjectEncoder.
120
- func (m *MapObjectEncoder) AddUintptr(k string, v uintptr) { m.cur[k] = v }
121
-
122
- // AddReflected implements ObjectEncoder.
123
- func (m *MapObjectEncoder) AddReflected(k string, v interface{}) error {
124
- m.cur[k] = v
125
- return nil
126
- }
127
-
128
- // OpenNamespace implements ObjectEncoder.
129
- func (m *MapObjectEncoder) OpenNamespace(k string) {
130
- ns := make(map[string]interface{})
131
- m.cur[k] = ns
132
- m.cur = ns
133
- }
134
-
135
- // sliceArrayEncoder is an ArrayEncoder backed by a simple []interface{}. Like
136
- // the MapObjectEncoder, it's not designed for production use.
137
- type sliceArrayEncoder struct {
138
- elems []interface{}
139
- }
140
-
141
- func (s *sliceArrayEncoder) AppendArray(v ArrayMarshaler) error {
142
- enc := &sliceArrayEncoder{}
143
- err := v.MarshalLogArray(enc)
144
- s.elems = append(s.elems, enc.elems)
145
- return err
146
- }
147
-
148
- func (s *sliceArrayEncoder) AppendObject(v ObjectMarshaler) error {
149
- m := NewMapObjectEncoder()
150
- err := v.MarshalLogObject(m)
151
- s.elems = append(s.elems, m.Fields)
152
- return err
153
- }
154
-
155
- func (s *sliceArrayEncoder) AppendReflected(v interface{}) error {
156
- s.elems = append(s.elems, v)
157
- return nil
158
- }
159
-
160
- func (s *sliceArrayEncoder) AppendBool(v bool) { s.elems = append(s.elems, v) }
161
- func (s *sliceArrayEncoder) AppendByteString(v []byte) { s.elems = append(s.elems, string(v)) }
162
- func (s *sliceArrayEncoder) AppendComplex128(v complex128) { s.elems = append(s.elems, v) }
163
- func (s *sliceArrayEncoder) AppendComplex64(v complex64) { s.elems = append(s.elems, v) }
164
- func (s *sliceArrayEncoder) AppendDuration(v time.Duration) { s.elems = append(s.elems, v) }
165
- func (s *sliceArrayEncoder) AppendFloat64(v float64) { s.elems = append(s.elems, v) }
166
- func (s *sliceArrayEncoder) AppendFloat32(v float32) { s.elems = append(s.elems, v) }
167
- func (s *sliceArrayEncoder) AppendInt(v int) { s.elems = append(s.elems, v) }
168
- func (s *sliceArrayEncoder) AppendInt64(v int64) { s.elems = append(s.elems, v) }
169
- func (s *sliceArrayEncoder) AppendInt32(v int32) { s.elems = append(s.elems, v) }
170
- func (s *sliceArrayEncoder) AppendInt16(v int16) { s.elems = append(s.elems, v) }
171
- func (s *sliceArrayEncoder) AppendInt8(v int8) { s.elems = append(s.elems, v) }
172
- func (s *sliceArrayEncoder) AppendString(v string) { s.elems = append(s.elems, v) }
173
- func (s *sliceArrayEncoder) AppendTime(v time.Time) { s.elems = append(s.elems, v) }
174
- func (s *sliceArrayEncoder) AppendUint(v uint) { s.elems = append(s.elems, v) }
175
- func (s *sliceArrayEncoder) AppendUint64(v uint64) { s.elems = append(s.elems, v) }
176
- func (s *sliceArrayEncoder) AppendUint32(v uint32) { s.elems = append(s.elems, v) }
177
- func (s *sliceArrayEncoder) AppendUint16(v uint16) { s.elems = append(s.elems, v) }
178
- func (s *sliceArrayEncoder) AppendUint8(v uint8) { s.elems = append(s.elems, v) }
179
- func (s *sliceArrayEncoder) AppendUintptr(v uintptr) { s.elems = append(s.elems, v) }
@@ -1,208 +0,0 @@
1
- // Copyright (c) 2016 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- package zapcore
22
-
23
- import (
24
- "time"
25
-
26
- "go.uber.org/atomic"
27
- )
28
-
29
- const (
30
- _numLevels = _maxLevel - _minLevel + 1
31
- _countersPerLevel = 4096
32
- )
33
-
34
- type counter struct {
35
- resetAt atomic.Int64
36
- counter atomic.Uint64
37
- }
38
-
39
- type counters [_numLevels][_countersPerLevel]counter
40
-
41
- func newCounters() *counters {
42
- return &counters{}
43
- }
44
-
45
- func (cs *counters) get(lvl Level, key string) *counter {
46
- i := lvl - _minLevel
47
- j := fnv32a(key) % _countersPerLevel
48
- return &cs[i][j]
49
- }
50
-
51
- // fnv32a, adapted from "hash/fnv", but without a []byte(string) alloc
52
- func fnv32a(s string) uint32 {
53
- const (
54
- offset32 = 2166136261
55
- prime32 = 16777619
56
- )
57
- hash := uint32(offset32)
58
- for i := 0; i < len(s); i++ {
59
- hash ^= uint32(s[i])
60
- hash *= prime32
61
- }
62
- return hash
63
- }
64
-
65
- func (c *counter) IncCheckReset(t time.Time, tick time.Duration) uint64 {
66
- tn := t.UnixNano()
67
- resetAfter := c.resetAt.Load()
68
- if resetAfter > tn {
69
- return c.counter.Inc()
70
- }
71
-
72
- c.counter.Store(1)
73
-
74
- newResetAfter := tn + tick.Nanoseconds()
75
- if !c.resetAt.CAS(resetAfter, newResetAfter) {
76
- // We raced with another goroutine trying to reset, and it also reset
77
- // the counter to 1, so we need to reincrement the counter.
78
- return c.counter.Inc()
79
- }
80
-
81
- return 1
82
- }
83
-
84
- // SamplingDecision is a decision represented as a bit field made by sampler.
85
- // More decisions may be added in the future.
86
- type SamplingDecision uint32
87
-
88
- const (
89
- // LogDropped indicates that the Sampler dropped a log entry.
90
- LogDropped SamplingDecision = 1 << iota
91
- // LogSampled indicates that the Sampler sampled a log entry.
92
- LogSampled
93
- )
94
-
95
- // optionFunc wraps a func so it satisfies the SamplerOption interface.
96
- type optionFunc func(*sampler)
97
-
98
- func (f optionFunc) apply(s *sampler) {
99
- f(s)
100
- }
101
-
102
- // SamplerOption configures a Sampler.
103
- type SamplerOption interface {
104
- apply(*sampler)
105
- }
106
-
107
- // nopSamplingHook is the default hook used by sampler.
108
- func nopSamplingHook(Entry, SamplingDecision) {}
109
-
110
- // SamplerHook registers a function which will be called when Sampler makes a
111
- // decision.
112
- //
113
- // This hook may be used to get visibility into the performance of the sampler.
114
- // For example, use it to track metrics of dropped versus sampled logs.
115
- //
116
- // var dropped atomic.Int64
117
- // zapcore.SamplerHook(func(ent zapcore.Entry, dec zapcore.SamplingDecision) {
118
- // if dec&zapcore.LogDropped > 0 {
119
- // dropped.Inc()
120
- // }
121
- // })
122
- func SamplerHook(hook func(entry Entry, dec SamplingDecision)) SamplerOption {
123
- return optionFunc(func(s *sampler) {
124
- s.hook = hook
125
- })
126
- }
127
-
128
- // NewSamplerWithOptions creates a Core that samples incoming entries, which
129
- // caps the CPU and I/O load of logging while attempting to preserve a
130
- // representative subset of your logs.
131
- //
132
- // Zap samples by logging the first N entries with a given level and message
133
- // each tick. If more Entries with the same level and message are seen during
134
- // the same interval, every Mth message is logged and the rest are dropped.
135
- //
136
- // Sampler can be configured to report sampling decisions with the SamplerHook
137
- // option.
138
- //
139
- // Keep in mind that zap's sampling implementation is optimized for speed over
140
- // absolute precision; under load, each tick may be slightly over- or
141
- // under-sampled.
142
- func NewSamplerWithOptions(core Core, tick time.Duration, first, thereafter int, opts ...SamplerOption) Core {
143
- s := &sampler{
144
- Core: core,
145
- tick: tick,
146
- counts: newCounters(),
147
- first: uint64(first),
148
- thereafter: uint64(thereafter),
149
- hook: nopSamplingHook,
150
- }
151
- for _, opt := range opts {
152
- opt.apply(s)
153
- }
154
-
155
- return s
156
- }
157
-
158
- type sampler struct {
159
- Core
160
-
161
- counts *counters
162
- tick time.Duration
163
- first, thereafter uint64
164
- hook func(Entry, SamplingDecision)
165
- }
166
-
167
- // NewSampler creates a Core that samples incoming entries, which
168
- // caps the CPU and I/O load of logging while attempting to preserve a
169
- // representative subset of your logs.
170
- //
171
- // Zap samples by logging the first N entries with a given level and message
172
- // each tick. If more Entries with the same level and message are seen during
173
- // the same interval, every Mth message is logged and the rest are dropped.
174
- //
175
- // Keep in mind that zap's sampling implementation is optimized for speed over
176
- // absolute precision; under load, each tick may be slightly over- or
177
- // under-sampled.
178
- //
179
- // Deprecated: use NewSamplerWithOptions.
180
- func NewSampler(core Core, tick time.Duration, first, thereafter int) Core {
181
- return NewSamplerWithOptions(core, tick, first, thereafter)
182
- }
183
-
184
- func (s *sampler) With(fields []Field) Core {
185
- return &sampler{
186
- Core: s.Core.With(fields),
187
- tick: s.tick,
188
- counts: s.counts,
189
- first: s.first,
190
- thereafter: s.thereafter,
191
- hook: s.hook,
192
- }
193
- }
194
-
195
- func (s *sampler) Check(ent Entry, ce *CheckedEntry) *CheckedEntry {
196
- if !s.Enabled(ent.Level) {
197
- return ce
198
- }
199
-
200
- counter := s.counts.get(ent.Level, ent.Message)
201
- n := counter.IncCheckReset(ent.Time, s.tick)
202
- if n > s.first && (n-s.first)%s.thereafter != 0 {
203
- s.hook(ent, LogDropped)
204
- return ce
205
- }
206
- s.hook(ent, LogSampled)
207
- return s.Core.Check(ent, ce)
208
- }