Replaces: #58
Currently, we have no analytics about integrations.
As a first step, we would like to know the proportion of each integration.
Thanks to the new spec implementation, the User-Agent header will be sent to Segment (and then to Amplitude) via the MeiliSearch server 🎉
Here is the expected format:
User-Agent: Meilisearch <language> (<version>)
-> The version should be in parenthesis and the information must start with Meilisearch
Ex:
User-Agent: Meilisearch JS (v0.22.1)
If multiple integrations are used during the user path, they should be separated by ;.
User-Agent: Meilisearch Rails (v0.2.3) ; Meilisearch Ruby (v0.16.0)
-> In this example, it means the Ruby SDK should be able to accept a custom User-Agent that the Rails plugin can pass when initializing the Ruby client.
First step: do it basically in all the SDKs
The SDKs should send the expected User-Agent header. In this step, no need to implement a way to pass a custom User-Agent header.
We only need to find a smart way (if possible) to pass the version, and/or to check the version is well updated for each release (using the .github/script/check-release.sh script for example)
Second step: do it in every integration
This step involves some SDKs (JS, PHP, Ruby, and probably more in the future) that can accept a custom User-Agent header. This needs an internal discussion for implementation and, why not, might deserve another issue.
Replaces: #58
Currently, we have no analytics about integrations.
As a first step, we would like to know the proportion of each integration.
Thanks to the new spec implementation, the
User-Agentheader will be sent to Segment (and then to Amplitude) via the MeiliSearch server 🎉Here is the expected format:
-> The version should be in parenthesis and the information must start with
MeilisearchEx:
If multiple integrations are used during the user path, they should be separated by
;.-> In this example, it means the Ruby SDK should be able to accept a custom
User-Agentthat the Rails plugin can pass when initializing the Ruby client.First step: do it basically in all the SDKs
The SDKs should send the expected
User-Agentheader. In this step, no need to implement a way to pass a customUser-Agentheader.We only need to find a smart way (if possible) to pass the version, and/or to check the version is well updated for each release (using the
.github/script/check-release.shscript for example)Second step: do it in every integration
This step involves some SDKs (JS, PHP, Ruby, and probably more in the future) that can accept a custom
User-Agentheader. This needs an internal discussion for implementation and, why not, might deserve another issue.