glean-parser 14.1.2__tar.gz → 14.2.0__tar.gz

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 (152) hide show
  1. {glean_parser-14.1.2 → glean_parser-14.2.0}/CHANGELOG.md +8 -0
  2. {glean_parser-14.1.2/glean_parser.egg-info → glean_parser-14.2.0}/PKG-INFO +9 -1
  3. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/history.md +8 -0
  4. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/metrics.py +9 -0
  5. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/schemas/metrics.2-0-0.schema.yaml +6 -1
  6. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/kotlin.jinja2 +25 -0
  7. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/swift.jinja2 +5 -1
  8. {glean_parser-14.1.2 → glean_parser-14.2.0/glean_parser.egg-info}/PKG-INFO +9 -1
  9. {glean_parser-14.1.2 → glean_parser-14.2.0}/requirements_dev.txt +3 -3
  10. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/all_metrics.yaml +27 -0
  11. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_kotlin.py +7 -0
  12. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_swift.py +3 -0
  13. {glean_parser-14.1.2 → glean_parser-14.2.0}/.circleci/config.yml +0 -0
  14. {glean_parser-14.1.2 → glean_parser-14.2.0}/.editorconfig +0 -0
  15. {glean_parser-14.1.2 → glean_parser-14.2.0}/.github/ISSUE_TEMPLATE.md +0 -0
  16. {glean_parser-14.1.2 → glean_parser-14.2.0}/.github/dependabot.yml +0 -0
  17. {glean_parser-14.1.2 → glean_parser-14.2.0}/.github/pull_request_template.md +0 -0
  18. {glean_parser-14.1.2 → glean_parser-14.2.0}/.gitignore +0 -0
  19. {glean_parser-14.1.2 → glean_parser-14.2.0}/.swiftlint.yml +0 -0
  20. {glean_parser-14.1.2 → glean_parser-14.2.0}/AUTHORS.md +0 -0
  21. {glean_parser-14.1.2 → glean_parser-14.2.0}/CODE_OF_CONDUCT.md +0 -0
  22. {glean_parser-14.1.2 → glean_parser-14.2.0}/CONTRIBUTING.md +0 -0
  23. {glean_parser-14.1.2 → glean_parser-14.2.0}/LICENSE +0 -0
  24. {glean_parser-14.1.2 → glean_parser-14.2.0}/MANIFEST.in +0 -0
  25. {glean_parser-14.1.2 → glean_parser-14.2.0}/Makefile +0 -0
  26. {glean_parser-14.1.2 → glean_parser-14.2.0}/README.md +0 -0
  27. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/Makefile +0 -0
  28. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/_static/glean.jpeg +0 -0
  29. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/authors.md +0 -0
  30. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/conf.py +0 -0
  31. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/contributing.md +0 -0
  32. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/index.rst +0 -0
  33. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/installation.md +0 -0
  34. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/make.bat +0 -0
  35. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/metrics-yaml.rst +0 -0
  36. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/pings-yaml.rst +0 -0
  37. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/readme.md +0 -0
  38. {glean_parser-14.1.2 → glean_parser-14.2.0}/docs/tags-yaml.rst +0 -0
  39. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/__init__.py +0 -0
  40. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/__main__.py +0 -0
  41. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/coverage.py +0 -0
  42. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/data_review.py +0 -0
  43. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/go_server.py +0 -0
  44. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/javascript.py +0 -0
  45. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/javascript_server.py +0 -0
  46. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/kotlin.py +0 -0
  47. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/lint.py +0 -0
  48. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/markdown.py +0 -0
  49. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/parser.py +0 -0
  50. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/pings.py +0 -0
  51. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/python_server.py +0 -0
  52. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/ruby_server.py +0 -0
  53. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/rust.py +0 -0
  54. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/schemas/metrics.1-0-0.schema.yaml +0 -0
  55. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/schemas/pings.1-0-0.schema.yaml +0 -0
  56. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/schemas/pings.2-0-0.schema.yaml +0 -0
  57. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/schemas/tags.1-0-0.schema.yaml +0 -0
  58. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/swift.py +0 -0
  59. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/tags.py +0 -0
  60. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/data_review.jinja2 +0 -0
  61. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/go_server.jinja2 +0 -0
  62. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/javascript.buildinfo.jinja2 +0 -0
  63. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/javascript.jinja2 +0 -0
  64. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/javascript_server.jinja2 +0 -0
  65. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/kotlin.buildinfo.jinja2 +0 -0
  66. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/kotlin.geckoview.jinja2 +0 -0
  67. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/markdown.jinja2 +0 -0
  68. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/python_server.jinja2 +0 -0
  69. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/qmldir.jinja2 +0 -0
  70. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/ruby_server.jinja2 +0 -0
  71. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/templates/rust.jinja2 +0 -0
  72. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/translate.py +0 -0
  73. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/translation_options.py +0 -0
  74. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/util.py +0 -0
  75. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser/validate_ping.py +0 -0
  76. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser.egg-info/SOURCES.txt +0 -0
  77. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser.egg-info/dependency_links.txt +0 -0
  78. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser.egg-info/entry_points.txt +0 -0
  79. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser.egg-info/not-zip-safe +0 -0
  80. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser.egg-info/requires.txt +0 -0
  81. {glean_parser-14.1.2 → glean_parser-14.2.0}/glean_parser.egg-info/top_level.txt +0 -0
  82. {glean_parser-14.1.2 → glean_parser-14.2.0}/pytest.ini +0 -0
  83. {glean_parser-14.1.2 → glean_parser-14.2.0}/server_telemetry/sdk-metrics-compat.yaml +0 -0
  84. {glean_parser-14.1.2 → glean_parser-14.2.0}/server_telemetry/server-side-pings.yaml +0 -0
  85. {glean_parser-14.1.2 → glean_parser-14.2.0}/setup.cfg +0 -0
  86. {glean_parser-14.1.2 → glean_parser-14.2.0}/setup.py +0 -0
  87. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/conftest.py +0 -0
  88. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/all_pings.yaml +0 -0
  89. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/bad_ping.yamlx +0 -0
  90. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/core.yaml +0 -0
  91. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/duplicate_labeled.yaml +0 -0
  92. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/duplicate_send_in_ping.yaml +0 -0
  93. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/empty.yaml +0 -0
  94. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/event_key_ordering.yaml +0 -0
  95. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/events_with_types.yaml +0 -0
  96. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/fxa-server-metrics.yaml +0 -0
  97. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/fxa-server-pings.yaml +0 -0
  98. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/gecko.yaml +0 -0
  99. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/go_server_metrics.yaml +0 -0
  100. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/go_server_metrics_unsupported.yaml +0 -0
  101. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/invalid-ping-names.yaml +0 -0
  102. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/invalid.yamlx +0 -0
  103. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/jwe.yaml +0 -0
  104. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/metric-with-tags.yaml +0 -0
  105. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/mixed-expirations.yaml +0 -0
  106. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/object.yaml +0 -0
  107. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/old_event_api.yamlx +0 -0
  108. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/ordering.yaml +0 -0
  109. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/pings.yaml +0 -0
  110. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/rate.yaml +0 -0
  111. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/ruby_server_metrics_unsupported.yaml +0 -0
  112. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/ruby_server_pings_unsupported.yaml +0 -0
  113. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/schema-violation.yaml +0 -0
  114. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/send_if_empty_with_metrics.yaml +0 -0
  115. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/server_events_compare.go +0 -0
  116. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/server_events_compare.rb +0 -0
  117. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/server_metrics_no_events_no_pings.yaml +0 -0
  118. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/server_metrics_with_event.yaml +0 -0
  119. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/server_pings.yaml +0 -0
  120. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/single_labeled.yaml +0 -0
  121. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/smaller.yaml +0 -0
  122. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/tags.yaml +0 -0
  123. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/telemetry_mirror.yaml +0 -0
  124. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/text.yaml +0 -0
  125. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/text_invalid.yaml +0 -0
  126. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/unknown_ping_used.yaml +0 -0
  127. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/wrong_key.yamlx +0 -0
  128. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/data/yaml_nits.yamlx +0 -0
  129. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/detekt.yml +0 -0
  130. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test-go/test.go.tmpl +0 -0
  131. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test-js/package.json +0 -0
  132. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test-js/test.js.tmpl +0 -0
  133. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test-py/test.py +0 -0
  134. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test-rb/test.rb.tmpl +0 -0
  135. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_cli.py +0 -0
  136. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_go_server.py +0 -0
  137. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_javascript.py +0 -0
  138. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_javascript_server.py +0 -0
  139. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_lint.py +0 -0
  140. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_markdown.py +0 -0
  141. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_metrics.py +0 -0
  142. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_parser.py +0 -0
  143. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_pings.py +0 -0
  144. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_python_server.py +0 -0
  145. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_ruby_server.py +0 -0
  146. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_rust.py +0 -0
  147. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_tags.py +0 -0
  148. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_translate.py +0 -0
  149. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_utils.py +0 -0
  150. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/test_validate_ping.py +0 -0
  151. {glean_parser-14.1.2 → glean_parser-14.2.0}/tests/util.py +0 -0
  152. {glean_parser-14.1.2 → glean_parser-14.2.0}/tools/extract_data_categories.py +0 -0
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 14.2.0
6
+
7
+ - New Metric Types: `labeled_{custom|memory|timing}_distribution` ([bug 1657947](https://bugzilla.mozilla.org/show_bug.cgi?id=1657947))
8
+
9
+ ## 14.1.3
10
+
11
+ - Fix Kotlin/Swift code generation for object metrics, now generating top-level typealiases where needed ([#722](https://github.com/mozilla/glean_parser/pull/722))
12
+
5
13
  ## 14.1.2
6
14
 
7
15
  - ping schedule: Gracefully handle missing ping ([#705](https://github.com/mozilla/glean_parser/pull/705))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: glean_parser
3
- Version: 14.1.2
3
+ Version: 14.2.0
4
4
  Summary: Parser tools for Mozilla's Glean telemetry
5
5
  Home-page: https://github.com/mozilla/glean_parser
6
6
  Author: The Glean Team
@@ -79,6 +79,14 @@ $ glean_parser check < ping.json
79
79
 
80
80
  ## Unreleased
81
81
 
82
+ ## 14.2.0
83
+
84
+ - New Metric Types: `labeled_{custom|memory|timing}_distribution` ([bug 1657947](https://bugzilla.mozilla.org/show_bug.cgi?id=1657947))
85
+
86
+ ## 14.1.3
87
+
88
+ - Fix Kotlin/Swift code generation for object metrics, now generating top-level typealiases where needed ([#722](https://github.com/mozilla/glean_parser/pull/722))
89
+
82
90
  ## 14.1.2
83
91
 
84
92
  - ping schedule: Gracefully handle missing ping ([#705](https://github.com/mozilla/glean_parser/pull/705))
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 14.2.0
6
+
7
+ - New Metric Types: `labeled_{custom|memory|timing}_distribution` ([bug 1657947](https://bugzilla.mozilla.org/show_bug.cgi?id=1657947))
8
+
9
+ ## 14.1.3
10
+
11
+ - Fix Kotlin/Swift code generation for object metrics, now generating top-level typealiases where needed ([#722](https://github.com/mozilla/glean_parser/pull/722))
12
+
5
13
  ## 14.1.2
6
14
 
7
15
  - ping schedule: Gracefully handle missing ping ([#705](https://github.com/mozilla/glean_parser/pull/705))
@@ -416,6 +416,15 @@ class LabeledString(Labeled, String):
416
416
  class LabeledCounter(Labeled, Counter):
417
417
  typename = "labeled_counter"
418
418
 
419
+ class LabeledCustomDistribution(Labeled, CustomDistribution):
420
+ typename = "labeled_custom_distribution"
421
+
422
+ class LabeledMemoryDistribution(Labeled, MemoryDistribution):
423
+ typename = "labeled_memory_distribution"
424
+
425
+ class LabeledTimingDistribution(Labeled, TimingDistribution):
426
+ typename = "labeled_timing_distribution"
427
+
419
428
 
420
429
  class Rate(Metric):
421
430
  typename = "rate"
@@ -115,7 +115,9 @@ definitions:
115
115
  of the metric to be stored at a given set of labels. The labeled
116
116
  metric types include:
117
117
 
118
- `labeled_boolean`, `labeled_string`, `labeled_counter`.
118
+ `labeled_boolean`, `labeled_string`, `labeled_counter`,
119
+ `labeled_custom_distribution`, `labeled_memory_distribution`,
120
+ `labeled_timing_distribution`.
119
121
 
120
122
  - `text`: Record long text data.
121
123
 
@@ -141,6 +143,9 @@ definitions:
141
143
  - labeled_boolean
142
144
  - labeled_string
143
145
  - labeled_counter
146
+ - labeled_custom_distribution
147
+ - labeled_memory_distribution
148
+ - labeled_timing_distribution
144
149
  - rate
145
150
  - text
146
151
  - object
@@ -121,6 +121,24 @@ data class {{ obj.name|Camelize }}{{ suffix }}(
121
121
 
122
122
  {% endmacro %}
123
123
 
124
+ {%- macro generate_structure_typealias(name, struct) %}
125
+ {%- if struct.type == "array" -%}
126
+ {{ generate_structure_typealias(name ~ "Item", struct["items"]) }}
127
+ {%- elif struct.type == "object" -%}
128
+ {% for itemname, val in struct.properties.items() %}
129
+ {% if val.type == "array" %}
130
+ {% set nested_name = name ~ "Item" ~ itemname|Camelize %}
131
+ {{ generate_structure_typealias(nested_name, val) }}
132
+ {% elif val.type == "object" %}
133
+ {% set nested_name = name ~ "Item" ~ itemname|Camelize ~ "Object" %}
134
+ {{ generate_structure_typealias(nested_name, val) }}
135
+ {% endif %}
136
+ {% endfor %}
137
+ {%- else -%}
138
+ typealias {{ name }} = {{ struct.type|structure_type_name }}
139
+ {% endif %}
140
+ {% endmacro %}
141
+
124
142
  /* ktlint-disable no-blank-line-before-rbrace */
125
143
  @file:Suppress("PackageNaming", "MaxLineLength")
126
144
  package {{ namespace }}
@@ -147,6 +165,13 @@ import kotlinx.serialization.encodeToString
147
165
  import kotlinx.serialization.json.Json
148
166
  {% endif %}
149
167
 
168
+ {# HACK HACK HACK -- typealiases MUST BE top-level #}
169
+ {% for obj in objs.values() %}
170
+ {% if obj|attr("_generate_structure") %}
171
+ {{ generate_structure_typealias(obj.name|Camelize ~ "Object", obj._generate_structure) }}
172
+ {%- endif %}
173
+ {% endfor %}
174
+ {# HACK end #}
150
175
  internal object {{ category_name|Camelize }} {
151
176
  {% for obj in objs.values() %}
152
177
  {% if obj.type == "ping" %}
@@ -80,7 +80,11 @@ struct {{ obj.name|Camelize }}{{ suffix }}: EventExtras {
80
80
  {% endif %}
81
81
  {% endfor %}
82
82
 
83
- {%- endif -%}
83
+ {%- else -%}
84
+
85
+ typealias {{ name }} = {{ struct.type|structure_type_name }}
86
+
87
+ {% endif -%}
84
88
 
85
89
  {% endmacro %}
86
90
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: glean_parser
3
- Version: 14.1.2
3
+ Version: 14.2.0
4
4
  Summary: Parser tools for Mozilla's Glean telemetry
5
5
  Home-page: https://github.com/mozilla/glean_parser
6
6
  Author: The Glean Team
@@ -79,6 +79,14 @@ $ glean_parser check < ping.json
79
79
 
80
80
  ## Unreleased
81
81
 
82
+ ## 14.2.0
83
+
84
+ - New Metric Types: `labeled_{custom|memory|timing}_distribution` ([bug 1657947](https://bugzilla.mozilla.org/show_bug.cgi?id=1657947))
85
+
86
+ ## 14.1.3
87
+
88
+ - Fix Kotlin/Swift code generation for object metrics, now generating top-level typealiases where needed ([#722](https://github.com/mozilla/glean_parser/pull/722))
89
+
82
90
  ## 14.1.2
83
91
 
84
92
  - ping schedule: Gracefully handle missing ping ([#705](https://github.com/mozilla/glean_parser/pull/705))
@@ -1,10 +1,10 @@
1
- coverage==7.5.0
1
+ coverage==7.5.3
2
2
  mypy==1.4.1
3
3
  pip
4
4
  pytest-runner==5.3.2
5
- pytest==8.2.0
5
+ pytest==8.2.2
6
6
  recommonmark==0.7.1
7
- ruff==0.4.2
7
+ ruff==0.5.0
8
8
  Sphinx==7.3.7; python_version > '3.8'
9
9
  twine==5.0.0
10
10
  types-Jinja2==2.11.9
@@ -118,3 +118,30 @@ all_metrics:
118
118
  text:
119
119
  <<: *defaults
120
120
  type: text
121
+
122
+ labeled_custom_distribution:
123
+ <<: *defaults
124
+ type: labeled_custom_distribution
125
+ range_min: 0
126
+ range_max: 100
127
+ bucket_count: 10
128
+ histogram_type: linear
129
+ labels:
130
+ - aLabel
131
+ - 2label
132
+
133
+ labeled_memory_distribution:
134
+ <<: *defaults
135
+ type: labeled_memory_distribution
136
+ memory_unit: kilobyte
137
+ labels:
138
+ - aLabel
139
+ - 2label
140
+
141
+ labeled_timing_distribution:
142
+ <<: *defaults
143
+ type: labeled_timing_distribution
144
+ time_unit: millisecond
145
+ labels:
146
+ - aLabel
147
+ - 2label
@@ -472,6 +472,13 @@ def test_object_metric(tmp_path):
472
472
  ["ActivityStream.kt", "ComplexTypes.kt", "CrashStack.kt", "GleanBuildInfo.kt"]
473
473
  )
474
474
 
475
+ with (tmp_path / "ComplexTypes.kt").open("r", encoding="utf-8") as fd:
476
+ content = fd.read()
477
+ content = " ".join(content.split())
478
+
479
+ assert "typealias ArrayInArrayObjectItemItem = Boolean" in content
480
+ assert "typealias NumberArrayObjectItem = Int" in content
481
+
475
482
  with (tmp_path / "CrashStack.kt").open("r", encoding="utf-8") as fd:
476
483
  content = fd.read()
477
484
  content = " ".join(content.split())
@@ -363,6 +363,9 @@ def test_object_metric(tmp_path):
363
363
  content = fd.read()
364
364
  content = " ".join(content.split())
365
365
 
366
+ assert "typealias ArrayInArrayObjectItemItem = Bool" in content
367
+ assert "typealias NumberArrayObjectItem = Int64" in content
368
+
366
369
  assert "ObjectMetricType<ThreadsObject>" in content
367
370
  assert "typealias ThreadsObject = [ThreadsObjectItem]" in content
368
371
  assert "struct ThreadsObjectItem: Codable, Equatable, ObjectSerialize {" in content
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes