kinto 19.3.2__tar.gz → 19.4.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.

Potentially problematic release.


This version of kinto might be problematic. Click here for more details.

Files changed (390) hide show
  1. {kinto-19.3.2/kinto.egg-info → kinto-19.4.0}/PKG-INFO +1 -1
  2. {kinto-19.3.2 → kinto-19.4.0}/docs/configuration/settings.rst +2 -0
  3. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/prometheus.py +19 -2
  4. {kinto-19.3.2 → kinto-19.4.0/kinto.egg-info}/PKG-INFO +1 -1
  5. {kinto-19.3.2 → kinto-19.4.0}/tests/plugins/test_prometheus.py +29 -12
  6. {kinto-19.3.2 → kinto-19.4.0}/.dockerignore +0 -0
  7. {kinto-19.3.2 → kinto-19.4.0}/.github/CODE_OF_CONDUCT.md +0 -0
  8. {kinto-19.3.2 → kinto-19.4.0}/.github/CONTRIBUTING.md +0 -0
  9. {kinto-19.3.2 → kinto-19.4.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  10. {kinto-19.3.2 → kinto-19.4.0}/.github/dependabot.yml +0 -0
  11. {kinto-19.3.2 → kinto-19.4.0}/.github/release.yml +0 -0
  12. {kinto-19.3.2 → kinto-19.4.0}/.github/workflows/labels.yaml +0 -0
  13. {kinto-19.3.2 → kinto-19.4.0}/.github/workflows/publish.yml +0 -0
  14. {kinto-19.3.2 → kinto-19.4.0}/.github/workflows/test.yml +0 -0
  15. {kinto-19.3.2 → kinto-19.4.0}/.gitignore +0 -0
  16. {kinto-19.3.2 → kinto-19.4.0}/CHANGELOG.rst +0 -0
  17. {kinto-19.3.2 → kinto-19.4.0}/CONTRIBUTORS.rst +0 -0
  18. {kinto-19.3.2 → kinto-19.4.0}/Dockerfile +0 -0
  19. {kinto-19.3.2 → kinto-19.4.0}/LICENSE +0 -0
  20. {kinto-19.3.2 → kinto-19.4.0}/Makefile +0 -0
  21. {kinto-19.3.2 → kinto-19.4.0}/README.rst +0 -0
  22. {kinto-19.3.2 → kinto-19.4.0}/SECURITY.md +0 -0
  23. {kinto-19.3.2 → kinto-19.4.0}/SUPPORT.md +0 -0
  24. {kinto-19.3.2 → kinto-19.4.0}/app.wsgi +0 -0
  25. {kinto-19.3.2 → kinto-19.4.0}/constraints.in +0 -0
  26. {kinto-19.3.2 → kinto-19.4.0}/constraints.txt +0 -0
  27. {kinto-19.3.2 → kinto-19.4.0}/contribute.json +0 -0
  28. {kinto-19.3.2 → kinto-19.4.0}/docker-compose.yml +0 -0
  29. {kinto-19.3.2 → kinto-19.4.0}/docs/_static/piwik.js +0 -0
  30. {kinto-19.3.2 → kinto-19.4.0}/docs/_static/theme_overrides.css +0 -0
  31. {kinto-19.3.2 → kinto-19.4.0}/docs/_templates/footer.html +0 -0
  32. {kinto-19.3.2 → kinto-19.4.0}/docs/_templates/indexcontent.html +0 -0
  33. {kinto-19.3.2 → kinto-19.4.0}/docs/_templates/layout.html +0 -0
  34. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_details-delete-list.rst +0 -0
  35. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_details-delete-object.rst +0 -0
  36. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_details-get-list.rst +0 -0
  37. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_details-get-object.rst +0 -0
  38. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_details-head-list.rst +0 -0
  39. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_details-patch-object.rst +0 -0
  40. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_details-post-list.rst +0 -0
  41. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_details-put-object.rst +0 -0
  42. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_status-delete-list.rst +0 -0
  43. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_status-delete-object.rst +0 -0
  44. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_status-get-list.rst +0 -0
  45. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_status-get-object.rst +0 -0
  46. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_status-patch-object.rst +0 -0
  47. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_status-post-list.rst +0 -0
  48. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/_status-put-object.rst +0 -0
  49. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/accounts.rst +0 -0
  50. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/admin.rst +0 -0
  51. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/authentication.rst +0 -0
  52. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/backoff.rst +0 -0
  53. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/batch.rst +0 -0
  54. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/buckets.rst +0 -0
  55. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/collections.rst +0 -0
  56. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/deprecation.rst +0 -0
  57. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/errors.rst +0 -0
  58. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/filtering.rst +0 -0
  59. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/flush.rst +0 -0
  60. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/groups.rst +0 -0
  61. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/history.rst +0 -0
  62. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/index.rst +0 -0
  63. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/openapi.rst +0 -0
  64. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/openid.rst +0 -0
  65. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/pagination.rst +0 -0
  66. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/permissions.rst +0 -0
  67. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/quotas.rst +0 -0
  68. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/records.rst +0 -0
  69. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/selecting_fields.rst +0 -0
  70. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/sorting.rst +0 -0
  71. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/timestamps.rst +0 -0
  72. {kinto-19.3.2 → kinto-19.4.0}/docs/api/1.x/utilities.rst +0 -0
  73. {kinto-19.3.2 → kinto-19.4.0}/docs/api/index.rst +0 -0
  74. {kinto-19.3.2 → kinto-19.4.0}/docs/api/versioning.rst +0 -0
  75. {kinto-19.3.2 → kinto-19.4.0}/docs/changelog.rst +0 -0
  76. {kinto-19.3.2 → kinto-19.4.0}/docs/commandline.rst +0 -0
  77. {kinto-19.3.2 → kinto-19.4.0}/docs/community.rst +0 -0
  78. {kinto-19.3.2 → kinto-19.4.0}/docs/concepts.rst +0 -0
  79. {kinto-19.3.2 → kinto-19.4.0}/docs/conf.py +0 -0
  80. {kinto-19.3.2 → kinto-19.4.0}/docs/configuration/good-practices.rst +0 -0
  81. {kinto-19.3.2 → kinto-19.4.0}/docs/configuration/index.rst +0 -0
  82. {kinto-19.3.2 → kinto-19.4.0}/docs/configuration/production.rst +0 -0
  83. {kinto-19.3.2 → kinto-19.4.0}/docs/core/_static/theme_overrides.css +0 -0
  84. {kinto-19.3.2 → kinto-19.4.0}/docs/core/api.rst +0 -0
  85. {kinto-19.3.2 → kinto-19.4.0}/docs/core/cache.rst +0 -0
  86. {kinto-19.3.2 → kinto-19.4.0}/docs/core/decorators.rst +0 -0
  87. {kinto-19.3.2 → kinto-19.4.0}/docs/core/errors.rst +0 -0
  88. {kinto-19.3.2 → kinto-19.4.0}/docs/core/glossary.rst +0 -0
  89. {kinto-19.3.2 → kinto-19.4.0}/docs/core/images/cliquet-base.png +0 -0
  90. {kinto-19.3.2 → kinto-19.4.0}/docs/core/images/cliquet-mozilla.png +0 -0
  91. {kinto-19.3.2 → kinto-19.4.0}/docs/core/index.rst +0 -0
  92. {kinto-19.3.2 → kinto-19.4.0}/docs/core/notifications.rst +0 -0
  93. {kinto-19.3.2 → kinto-19.4.0}/docs/core/permission.rst +0 -0
  94. {kinto-19.3.2 → kinto-19.4.0}/docs/core/quickstart.rst +0 -0
  95. {kinto-19.3.2 → kinto-19.4.0}/docs/core/rationale.rst +0 -0
  96. {kinto-19.3.2 → kinto-19.4.0}/docs/core/resource.rst +0 -0
  97. {kinto-19.3.2 → kinto-19.4.0}/docs/core/storage.rst +0 -0
  98. {kinto-19.3.2 → kinto-19.4.0}/docs/core/testing.rst +0 -0
  99. {kinto-19.3.2 → kinto-19.4.0}/docs/core/utils.rst +0 -0
  100. {kinto-19.3.2 → kinto-19.4.0}/docs/core/viewsets.rst +0 -0
  101. {kinto-19.3.2 → kinto-19.4.0}/docs/faq.rst +0 -0
  102. {kinto-19.3.2 → kinto-19.4.0}/docs/images/alwaysdata-button.svg +0 -0
  103. {kinto-19.3.2 → kinto-19.4.0}/docs/images/architecture.svg +0 -0
  104. {kinto-19.3.2 → kinto-19.4.0}/docs/images/color-formatter.png +0 -0
  105. {kinto-19.3.2 → kinto-19.4.0}/docs/images/concepts-general.png +0 -0
  106. {kinto-19.3.2 → kinto-19.4.0}/docs/images/concepts-permissions.png +0 -0
  107. {kinto-19.3.2 → kinto-19.4.0}/docs/images/heroku-button.png +0 -0
  108. {kinto-19.3.2 → kinto-19.4.0}/docs/images/kinto-logo.png +0 -0
  109. {kinto-19.3.2 → kinto-19.4.0}/docs/images/kinto-logo.svg +0 -0
  110. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-admin.svg +0 -0
  111. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-attachment.svg +0 -0
  112. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-community.svg +0 -0
  113. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-demos.svg +0 -0
  114. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-history.svg +0 -0
  115. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-indexing.svg +0 -0
  116. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-javascript.svg +0 -0
  117. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-jsonschema.svg +0 -0
  118. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-livesync.svg +0 -0
  119. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-multiapps.svg +0 -0
  120. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-offline.svg +0 -0
  121. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-permissions.svg +0 -0
  122. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-python.svg +0 -0
  123. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-quotas.svg +0 -0
  124. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-selfhostable.svg +0 -0
  125. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-signature.svg +0 -0
  126. {kinto-19.3.2 → kinto-19.4.0}/docs/images/logo-synchronisation.svg +0 -0
  127. {kinto-19.3.2 → kinto-19.4.0}/docs/images/overview-deployonce-selfhost.png +0 -0
  128. {kinto-19.3.2 → kinto-19.4.0}/docs/images/overview-features.png +0 -0
  129. {kinto-19.3.2 → kinto-19.4.0}/docs/images/overview-synchronisation.png +0 -0
  130. {kinto-19.3.2 → kinto-19.4.0}/docs/images/overview-use-cases.png +0 -0
  131. {kinto-19.3.2 → kinto-19.4.0}/docs/images/scalingo-button.svg +0 -0
  132. {kinto-19.3.2 → kinto-19.4.0}/docs/images/screenshot-kinto-admin-1.png +0 -0
  133. {kinto-19.3.2 → kinto-19.4.0}/docs/images/screenshot-kinto-admin-2.png +0 -0
  134. {kinto-19.3.2 → kinto-19.4.0}/docs/images/screenshot-kinto-admin-3.png +0 -0
  135. {kinto-19.3.2 → kinto-19.4.0}/docs/images/screenshot-kinto-admin-4.png +0 -0
  136. {kinto-19.3.2 → kinto-19.4.0}/docs/images/sequence-storage.png +0 -0
  137. {kinto-19.3.2 → kinto-19.4.0}/docs/images/sync-both.svg +0 -0
  138. {kinto-19.3.2 → kinto-19.4.0}/docs/images/sync-newest.svg +0 -0
  139. {kinto-19.3.2 → kinto-19.4.0}/docs/images/sync-oldest.svg +0 -0
  140. {kinto-19.3.2 → kinto-19.4.0}/docs/index.rst +0 -0
  141. {kinto-19.3.2 → kinto-19.4.0}/docs/kinto-admin.rst +0 -0
  142. {kinto-19.3.2 → kinto-19.4.0}/docs/overview.rst +0 -0
  143. {kinto-19.3.2 → kinto-19.4.0}/docs/requirements.txt +0 -0
  144. {kinto-19.3.2 → kinto-19.4.0}/docs/troubleshooting.rst +0 -0
  145. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/app-examples.rst +0 -0
  146. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/authentication-github.rst +0 -0
  147. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/client-side-encryption.rst +0 -0
  148. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/custom-id-generator.rst +0 -0
  149. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/first-steps.rst +0 -0
  150. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/index.rst +0 -0
  151. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/install.rst +0 -0
  152. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/notifications-custom.rst +0 -0
  153. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/notifications-websockets.rst +0 -0
  154. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/permission-setups.rst +0 -0
  155. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/permissions.rst +0 -0
  156. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/synchronisation.rst +0 -0
  157. {kinto-19.3.2 → kinto-19.4.0}/docs/tutorials/write-plugin.rst +0 -0
  158. {kinto-19.3.2 → kinto-19.4.0}/kinto/__init__.py +0 -0
  159. {kinto-19.3.2 → kinto-19.4.0}/kinto/__main__.py +0 -0
  160. {kinto-19.3.2 → kinto-19.4.0}/kinto/authorization.py +0 -0
  161. {kinto-19.3.2 → kinto-19.4.0}/kinto/config/__init__.py +0 -0
  162. {kinto-19.3.2 → kinto-19.4.0}/kinto/config/kinto.tpl +0 -0
  163. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/__init__.py +0 -0
  164. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/authentication.py +0 -0
  165. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/authorization.py +0 -0
  166. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/cache/__init__.py +0 -0
  167. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/cache/memcached.py +0 -0
  168. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/cache/memory.py +0 -0
  169. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/cache/postgresql/__init__.py +0 -0
  170. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/cache/postgresql/schema.sql +0 -0
  171. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/cache/testing.py +0 -0
  172. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/decorators.py +0 -0
  173. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/errors.py +0 -0
  174. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/events.py +0 -0
  175. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/initialization.py +0 -0
  176. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/listeners/__init__.py +0 -0
  177. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/metrics.py +0 -0
  178. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/openapi.py +0 -0
  179. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/permission/__init__.py +0 -0
  180. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/permission/memory.py +0 -0
  181. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/permission/postgresql/__init__.py +0 -0
  182. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/permission/postgresql/migrations/migration_001_002.sql +0 -0
  183. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/permission/postgresql/schema.sql +0 -0
  184. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/permission/testing.py +0 -0
  185. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/resource/__init__.py +0 -0
  186. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/resource/model.py +0 -0
  187. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/resource/schema.py +0 -0
  188. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/resource/viewset.py +0 -0
  189. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/schema.py +0 -0
  190. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/scripts.py +0 -0
  191. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/statsd.py +0 -0
  192. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/__init__.py +0 -0
  193. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/exceptions.py +0 -0
  194. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/generators.py +0 -0
  195. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/memory.py +0 -0
  196. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/__init__.py +0 -0
  197. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/client.py +0 -0
  198. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_001_002.sql +0 -0
  199. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_002_003.sql +0 -0
  200. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_003_004.sql +0 -0
  201. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_004_005.sql +0 -0
  202. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_005_006.sql +0 -0
  203. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_006_007.sql +0 -0
  204. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_007_008.sql +0 -0
  205. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_008_009.sql +0 -0
  206. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_009_010.sql +0 -0
  207. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_010_011.sql +0 -0
  208. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_011_012.sql +0 -0
  209. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_012_013.sql +0 -0
  210. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_013_014.sql +0 -0
  211. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_014_015.sql +0 -0
  212. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_015_016.sql +0 -0
  213. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_016_017.sql +0 -0
  214. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_017_018.sql +0 -0
  215. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_018_019.sql +0 -0
  216. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_019_020.sql +0 -0
  217. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_020_021.sql +0 -0
  218. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrations/migration_021_022.sql +0 -0
  219. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/migrator.py +0 -0
  220. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/pool.py +0 -0
  221. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/postgresql/schema.sql +0 -0
  222. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/testing.py +0 -0
  223. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/storage/utils.py +0 -0
  224. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/testing.py +0 -0
  225. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/utils.py +0 -0
  226. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/views/__init__.py +0 -0
  227. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/views/batch.py +0 -0
  228. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/views/errors.py +0 -0
  229. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/views/heartbeat.py +0 -0
  230. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/views/hello.py +0 -0
  231. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/views/openapi.py +0 -0
  232. {kinto-19.3.2 → kinto-19.4.0}/kinto/core/views/version.py +0 -0
  233. {kinto-19.3.2 → kinto-19.4.0}/kinto/events.py +0 -0
  234. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/__init__.py +0 -0
  235. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/accounts/__init__.py +0 -0
  236. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/accounts/authentication.py +0 -0
  237. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/accounts/mails.py +0 -0
  238. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/accounts/scripts.py +0 -0
  239. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/accounts/utils.py +0 -0
  240. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/accounts/views/__init__.py +0 -0
  241. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/accounts/views/validation.py +0 -0
  242. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/README.md +0 -0
  243. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/VERSION +0 -0
  244. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/__init__.py +0 -0
  245. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/VERSION +0 -0
  246. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/assets/asn1-CGOzndHr.js +0 -0
  247. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/assets/clojure-BMjYHr_A.js +0 -0
  248. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/assets/css-BnMrqG3P.js +0 -0
  249. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/assets/index-BKIg2XW8.js +0 -0
  250. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/assets/index-D8oiN37x.css +0 -0
  251. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/assets/javascript-iSgyE4tI.js +0 -0
  252. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/assets/logo-VBRiKSPX.png +0 -0
  253. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/assets/mllike-C_8OmSiT.js +0 -0
  254. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/assets/python-BuPzkPfP.js +0 -0
  255. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/assets/rpm-CTu-6PCP.js +0 -0
  256. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/assets/sql-C4g8LzGK.js +0 -0
  257. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/assets/ttcn-cfg-BIkV9KBc.js +0 -0
  258. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/build/index.html +0 -0
  259. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/public/help.html +0 -0
  260. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/admin/views.py +0 -0
  261. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/default_bucket/__init__.py +0 -0
  262. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/flush.py +0 -0
  263. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/history/__init__.py +0 -0
  264. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/history/listener.py +0 -0
  265. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/history/views.py +0 -0
  266. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/openid/__init__.py +0 -0
  267. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/openid/utils.py +0 -0
  268. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/openid/views.py +0 -0
  269. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/quotas/__init__.py +0 -0
  270. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/quotas/listener.py +0 -0
  271. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/quotas/scripts.py +0 -0
  272. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/quotas/utils.py +0 -0
  273. {kinto-19.3.2 → kinto-19.4.0}/kinto/plugins/statsd.py +0 -0
  274. {kinto-19.3.2 → kinto-19.4.0}/kinto/schema_validation.py +0 -0
  275. {kinto-19.3.2 → kinto-19.4.0}/kinto/scripts.py +0 -0
  276. {kinto-19.3.2 → kinto-19.4.0}/kinto/views/__init__.py +0 -0
  277. {kinto-19.3.2 → kinto-19.4.0}/kinto/views/admin.py +0 -0
  278. {kinto-19.3.2 → kinto-19.4.0}/kinto/views/buckets.py +0 -0
  279. {kinto-19.3.2 → kinto-19.4.0}/kinto/views/collections.py +0 -0
  280. {kinto-19.3.2 → kinto-19.4.0}/kinto/views/contribute.py +0 -0
  281. {kinto-19.3.2 → kinto-19.4.0}/kinto/views/groups.py +0 -0
  282. {kinto-19.3.2 → kinto-19.4.0}/kinto/views/permissions.py +0 -0
  283. {kinto-19.3.2 → kinto-19.4.0}/kinto/views/records.py +0 -0
  284. {kinto-19.3.2 → kinto-19.4.0}/kinto.egg-info/SOURCES.txt +0 -0
  285. {kinto-19.3.2 → kinto-19.4.0}/kinto.egg-info/dependency_links.txt +0 -0
  286. {kinto-19.3.2 → kinto-19.4.0}/kinto.egg-info/entry_points.txt +0 -0
  287. {kinto-19.3.2 → kinto-19.4.0}/kinto.egg-info/requires.txt +0 -0
  288. {kinto-19.3.2 → kinto-19.4.0}/kinto.egg-info/top_level.txt +0 -0
  289. {kinto-19.3.2 → kinto-19.4.0}/pyproject.toml +0 -0
  290. {kinto-19.3.2 → kinto-19.4.0}/scripts/pull-kinto-admin.sh +0 -0
  291. {kinto-19.3.2 → kinto-19.4.0}/setup.cfg +0 -0
  292. {kinto-19.3.2 → kinto-19.4.0}/tests/__init__.py +0 -0
  293. {kinto-19.3.2 → kinto-19.4.0}/tests/browser.ini +0 -0
  294. {kinto-19.3.2 → kinto-19.4.0}/tests/browser.py +0 -0
  295. {kinto-19.3.2 → kinto-19.4.0}/tests/core/__init__.py +0 -0
  296. {kinto-19.3.2 → kinto-19.4.0}/tests/core/listeners.py +0 -0
  297. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/__init__.py +0 -0
  298. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_base.py +0 -0
  299. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_cache_expires.py +0 -0
  300. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_events.py +0 -0
  301. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_filter.py +0 -0
  302. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_model.py +0 -0
  303. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_object.py +0 -0
  304. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_object_permissions.py +0 -0
  305. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_pagination.py +0 -0
  306. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_partial_response.py +0 -0
  307. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_preconditions.py +0 -0
  308. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_schema.py +0 -0
  309. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_sort.py +0 -0
  310. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_sync.py +0 -0
  311. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_views.py +0 -0
  312. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_views_cors.py +0 -0
  313. {kinto-19.3.2 → kinto-19.4.0}/tests/core/resource/test_viewset.py +0 -0
  314. {kinto-19.3.2 → kinto-19.4.0}/tests/core/schema/postgresql-permission-1.sql +0 -0
  315. {kinto-19.3.2 → kinto-19.4.0}/tests/core/schema/postgresql-storage-1.6.sql +0 -0
  316. {kinto-19.3.2 → kinto-19.4.0}/tests/core/schema/postgresql-storage-11.sql +0 -0
  317. {kinto-19.3.2 → kinto-19.4.0}/tests/core/support.py +0 -0
  318. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_authentication.py +0 -0
  319. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_authorization.py +0 -0
  320. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_cache.py +0 -0
  321. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_decorators.py +0 -0
  322. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_deprecation.py +0 -0
  323. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_errors.py +0 -0
  324. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_initialization.py +0 -0
  325. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_listeners.py +0 -0
  326. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_logging.py +0 -0
  327. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_metrics.py +0 -0
  328. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_openapi.py +0 -0
  329. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_permission.py +0 -0
  330. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_schema.py +0 -0
  331. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_scripts.py +0 -0
  332. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_storage.py +0 -0
  333. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_storage_migrations.py +0 -0
  334. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_storage_pool.py +0 -0
  335. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_utils.py +0 -0
  336. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_views_batch.py +0 -0
  337. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_views_errors.py +0 -0
  338. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_views_heartbeat.py +0 -0
  339. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_views_hello.py +0 -0
  340. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_views_openapi.py +0 -0
  341. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_views_postgresql.py +0 -0
  342. {kinto-19.3.2 → kinto-19.4.0}/tests/core/test_views_transaction.py +0 -0
  343. {kinto-19.3.2 → kinto-19.4.0}/tests/core/testapp/__init__.py +0 -0
  344. {kinto-19.3.2 → kinto-19.4.0}/tests/core/testapp/static/index.html +0 -0
  345. {kinto-19.3.2 → kinto-19.4.0}/tests/core/testapp/views.py +0 -0
  346. {kinto-19.3.2 → kinto-19.4.0}/tests/core/testplugin/__init__.py +0 -0
  347. {kinto-19.3.2 → kinto-19.4.0}/tests/functional.ini +0 -0
  348. {kinto-19.3.2 → kinto-19.4.0}/tests/functional.py +0 -0
  349. {kinto-19.3.2 → kinto-19.4.0}/tests/openapi/__init__.py +0 -0
  350. {kinto-19.3.2 → kinto-19.4.0}/tests/openapi/support.py +0 -0
  351. {kinto-19.3.2 → kinto-19.4.0}/tests/openapi/test_plugins.py +0 -0
  352. {kinto-19.3.2 → kinto-19.4.0}/tests/openapi/test_resources.py +0 -0
  353. {kinto-19.3.2 → kinto-19.4.0}/tests/openapi/test_responses_buckets.py +0 -0
  354. {kinto-19.3.2 → kinto-19.4.0}/tests/openapi/test_responses_collections.py +0 -0
  355. {kinto-19.3.2 → kinto-19.4.0}/tests/openapi/test_responses_errors.py +0 -0
  356. {kinto-19.3.2 → kinto-19.4.0}/tests/openapi/test_responses_groups.py +0 -0
  357. {kinto-19.3.2 → kinto-19.4.0}/tests/openapi/test_responses_records.py +0 -0
  358. {kinto-19.3.2 → kinto-19.4.0}/tests/openapi/test_validation.py +0 -0
  359. {kinto-19.3.2 → kinto-19.4.0}/tests/plugins/__init__.py +0 -0
  360. {kinto-19.3.2 → kinto-19.4.0}/tests/plugins/test_accounts.py +0 -0
  361. {kinto-19.3.2 → kinto-19.4.0}/tests/plugins/test_admin.py +0 -0
  362. {kinto-19.3.2 → kinto-19.4.0}/tests/plugins/test_default_bucket.py +0 -0
  363. {kinto-19.3.2 → kinto-19.4.0}/tests/plugins/test_flush.py +0 -0
  364. {kinto-19.3.2 → kinto-19.4.0}/tests/plugins/test_history.py +0 -0
  365. {kinto-19.3.2 → kinto-19.4.0}/tests/plugins/test_openid.py +0 -0
  366. {kinto-19.3.2 → kinto-19.4.0}/tests/plugins/test_quotas.py +0 -0
  367. {kinto-19.3.2 → kinto-19.4.0}/tests/plugins/test_statsd.py +0 -0
  368. {kinto-19.3.2 → kinto-19.4.0}/tests/support.py +0 -0
  369. {kinto-19.3.2 → kinto-19.4.0}/tests/test_authorization.py +0 -0
  370. {kinto-19.3.2 → kinto-19.4.0}/tests/test_config.py +0 -0
  371. {kinto-19.3.2 → kinto-19.4.0}/tests/test_configuration/test.ini +0 -0
  372. {kinto-19.3.2 → kinto-19.4.0}/tests/test_init.py +0 -0
  373. {kinto-19.3.2 → kinto-19.4.0}/tests/test_main.py +0 -0
  374. {kinto-19.3.2 → kinto-19.4.0}/tests/test_scripts.py +0 -0
  375. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_admin.py +0 -0
  376. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_buckets.py +0 -0
  377. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_collections.py +0 -0
  378. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_collections_cache.py +0 -0
  379. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_contribute.py +0 -0
  380. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_disable_default.py +0 -0
  381. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_groups.py +0 -0
  382. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_hello.py +0 -0
  383. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_metrics.py +0 -0
  384. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_objects_permissions.py +0 -0
  385. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_permissions.py +0 -0
  386. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_records.py +0 -0
  387. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_schema_collection.py +0 -0
  388. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_schema_group.py +0 -0
  389. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_schema_record.py +0 -0
  390. {kinto-19.3.2 → kinto-19.4.0}/tests/test_views_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: kinto
3
- Version: 19.3.2
3
+ Version: 19.4.0
4
4
  Summary: Kinto Web Service - Store, Sync, Share, and Self-Host.
5
5
  Author-email: Mozilla Services <developers@kinto-storage.org>
6
6
  License: Copyright 2012 - Mozilla Foundation
@@ -503,6 +503,8 @@ Prometheus metrics can be enabled with (disabled by default):
503
503
 
504
504
  kinto.includes = kinto.plugins.prometheus
505
505
 
506
+ # kinto.prometheus_prefix = kinto-prod
507
+
506
508
  Metrics can then be crawled from the ``/__metrics__`` endpoint.
507
509
 
508
510
 
@@ -28,7 +28,7 @@ def get_registry():
28
28
 
29
29
 
30
30
  def _fix_metric_name(s):
31
- return s.replace("-", "_").replace(".", "_")
31
+ return s.replace("-", "_").replace(".", "_").replace(" ", "_")
32
32
 
33
33
 
34
34
  class Timer:
@@ -68,8 +68,20 @@ class Timer:
68
68
 
69
69
  @implementer(metrics.IMetricsService)
70
70
  class PrometheusService:
71
+ def __init__(self, prefix=""):
72
+ prefix_clean = ""
73
+ if prefix:
74
+ # In GCP Console, the metrics are grouped by the first
75
+ # word before the first underscore. Here we make sure the specified
76
+ # prefix is not mixed up with metrics names.
77
+ # (eg. `remote-settings` -> `remotesettings_`, `kinto_` -> `kinto_`)
78
+ prefix_clean = _fix_metric_name(prefix).replace("_", "") + "_"
79
+ self.prefix = prefix_clean.lower()
80
+
71
81
  def timer(self, key):
72
82
  global _METRICS
83
+ key = self.prefix + key
84
+
73
85
  if key not in _METRICS:
74
86
  _METRICS[key] = prometheus_module.Summary(
75
87
  _fix_metric_name(key), f"Summary of {key}", registry=get_registry()
@@ -84,6 +96,7 @@ class PrometheusService:
84
96
 
85
97
  def observe(self, key, value, labels=[]):
86
98
  global _METRICS
99
+ key = self.prefix + key
87
100
 
88
101
  if key not in _METRICS:
89
102
  _METRICS[key] = prometheus_module.Summary(
@@ -106,6 +119,7 @@ class PrometheusService:
106
119
 
107
120
  def count(self, key, count=1, unique=None):
108
121
  global _METRICS
122
+ key = self.prefix + key
109
123
 
110
124
  labels = []
111
125
 
@@ -183,4 +197,7 @@ def includeme(config):
183
197
  pass
184
198
  _METRICS.clear()
185
199
 
186
- config.registry.registerUtility(PrometheusService(), metrics.IMetricsService)
200
+ settings = config.get_settings()
201
+ prefix = settings.get("prometheus_prefix", settings["project_name"])
202
+
203
+ config.registry.registerUtility(PrometheusService(prefix=prefix), metrics.IMetricsService)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: kinto
3
- Version: 19.3.2
3
+ Version: 19.4.0
4
4
  Summary: Kinto Web Service - Store, Sync, Share, and Self-Host.
5
5
  Author-email: Mozilla Services <developers@kinto-storage.org>
6
6
  License: Copyright 2012 - Mozilla Foundation
@@ -31,6 +31,7 @@ class PrometheusWebTest(support.BaseWebTest, unittest.TestCase):
31
31
  def get_app_settings(cls, extras=None):
32
32
  settings = super().get_app_settings(extras)
33
33
  settings["includes"] = "kinto.plugins.prometheus"
34
+ settings["project_name"] = "kinto PROD"
34
35
  return settings
35
36
 
36
37
 
@@ -59,7 +60,7 @@ class ServiceTest(PrometheusWebTest):
59
60
  self.assertEqual(my_func(1, 1), 2)
60
61
 
61
62
  resp = self.app.get("/__metrics__")
62
- self.assertIn("TYPE func_latency_context summary", resp.text)
63
+ self.assertIn("TYPE kintoprod_func_latency_context summary", resp.text)
63
64
 
64
65
  def test_timer_can_be_used_as_decorator(self):
65
66
  decorated = self.app.app.registry.metrics.timer("func.latency.decorator")(my_func)
@@ -67,7 +68,7 @@ class ServiceTest(PrometheusWebTest):
67
68
  self.assertEqual(decorated(1, 1), 2)
68
69
 
69
70
  resp = self.app.get("/__metrics__")
70
- self.assertIn("TYPE func_latency_decorator summary", resp.text)
71
+ self.assertIn("TYPE kintoprod_func_latency_decorator summary", resp.text)
71
72
 
72
73
  def test_timer_can_be_used_as_decorator_on_partial_function(self):
73
74
  partial = functools.partial(my_func, 3)
@@ -76,39 +77,39 @@ class ServiceTest(PrometheusWebTest):
76
77
  self.assertEqual(decorated(3), 6)
77
78
 
78
79
  resp = self.app.get("/__metrics__")
79
- self.assertIn("TYPE func_latency_partial summary", resp.text)
80
+ self.assertIn("TYPE kintoprod_func_latency_partial summary", resp.text)
80
81
 
81
82
  def test_observe_a_single_value(self):
82
83
  self.app.app.registry.metrics.observe("price", 111)
83
84
 
84
85
  resp = self.app.get("/__metrics__")
85
- self.assertIn("price_sum 111", resp.text)
86
+ self.assertIn("kintoprod_price_sum 111", resp.text)
86
87
 
87
88
  def test_observe_a_single_value_with_labels(self):
88
89
  self.app.app.registry.metrics.observe("size", 3.14, labels=[("endpoint", "/buckets")])
89
90
 
90
91
  resp = self.app.get("/__metrics__")
91
- self.assertIn('size_sum{endpoint="/buckets"} 3.14', resp.text)
92
+ self.assertIn('kintoprod_size_sum{endpoint="/buckets"} 3.14', resp.text)
92
93
 
93
94
  def test_count_by_key(self):
94
95
  self.app.app.registry.metrics.count("key")
95
96
 
96
97
  resp = self.app.get("/__metrics__")
97
- self.assertIn("key_total 1.0", resp.text)
98
+ self.assertIn("kintoprod_key_total 1.0", resp.text)
98
99
 
99
100
  def test_count_by_key_value(self):
100
101
  self.app.app.registry.metrics.count("bigstep", count=2)
101
102
 
102
103
  resp = self.app.get("/__metrics__")
103
- self.assertIn("bigstep_total 2.0", resp.text)
104
+ self.assertIn("kintoprod_bigstep_total 2.0", resp.text)
104
105
 
105
106
  def test_count_by_key_grouped(self):
106
107
  self.app.app.registry.metrics.count("http", unique=[("status", "500")])
107
108
  self.app.app.registry.metrics.count("http", unique=[("status", "200")])
108
109
 
109
110
  resp = self.app.get("/__metrics__")
110
- self.assertIn('http_total{status="500"} 1.0', resp.text)
111
- self.assertIn('http_total{status="200"} 1.0', resp.text)
111
+ self.assertIn('kintoprod_http_total{status="500"} 1.0', resp.text)
112
+ self.assertIn('kintoprod_http_total{status="200"} 1.0', resp.text)
112
113
 
113
114
  def test_metrics_cant_be_mixed(self):
114
115
  self.app.app.registry.metrics.count("counter")
@@ -127,16 +128,32 @@ class ServiceTest(PrometheusWebTest):
127
128
  self.app.app.registry.metrics.count("http.home.status", unique=[("code.get", "200")])
128
129
 
129
130
  resp = self.app.get("/__metrics__")
130
- self.assertIn('http_home_status_total{code_get="200"} 1.0', resp.text)
131
+ self.assertIn('kintoprod_http_home_status_total{code_get="200"} 1.0', resp.text)
131
132
 
132
133
  def test_count_with_legacy_string_generic_group(self):
133
134
  self.app.app.registry.metrics.count("champignons", unique="boletus")
134
135
 
135
136
  resp = self.app.get("/__metrics__")
136
- self.assertIn('champignons_total{group="boletus"} 1.0', resp.text)
137
+ self.assertIn('kintoprod_champignons_total{group="boletus"} 1.0', resp.text)
137
138
 
138
139
  def test_count_with_legacy_string_basic_group(self):
139
140
  self.app.app.registry.metrics.count("mushrooms", unique="species.boletus")
140
141
 
141
142
  resp = self.app.get("/__metrics__")
142
- self.assertIn('mushrooms_total{species="boletus"} 1.0', resp.text)
143
+ self.assertIn('kintoprod_mushrooms_total{species="boletus"} 1.0', resp.text)
144
+
145
+
146
+ @skip_if_no_prometheus
147
+ class PrometheusNoPrefixTest(PrometheusWebTest):
148
+ @classmethod
149
+ def get_app_settings(cls, extras=None):
150
+ settings = super().get_app_settings(extras)
151
+ settings["project_name"] = "Some Project"
152
+ settings["prometheus_prefix"] = ""
153
+ return settings
154
+
155
+ def test_metrics_have_no_prefix(self):
156
+ self.app.app.registry.metrics.observe("price", 111)
157
+
158
+ resp = self.app.get("/__metrics__")
159
+ self.assertIn("TYPE price summary", resp.text)
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
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
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
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
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
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
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes