Automatic Usage Reporting
Learn about automatic usage reporting for on-prem deploymentsAutomatic usage reporting (a.k.a. online usage reporting) automatically sends usage data from the transcriber to Speechmatics via usage.speechmatics.com
. Speechmatics will use this data to appropriately bill users for their usage. Depending on the on-prem solution you require, the setup process is slightly different see the sections below on containers and appliances for details.
We will never send customer audio data over the network. See What Data Do We Record for a full description of what information will be recorded.
Technical details
The Batch transcriber will report one TRANSCRIBER_DONE
event at the event of transcription.
The Real-time transcriber will report one SESSION_ENDED
event at the end of each session. During a session, the Real-time transcriber also sends SESSION_STATUS
every few minutes.
The payload size is only several KB, so it won’t have a meaningful impact on the duration of transcription or your bandwidth costs.
If usage reporting is successful then at the end of the session the following message will be visible in the transcriber logs:
2024-04-15 13:17:38,799 INFO sentryserver Transcribed 36 seconds of speech
2024-04-15 13:17:38,974 INFO prod.orchestrator.eats.api Eats client process finished
In verbose debug mode, the contents of the usage report can be seen.
Network Failure
In the event of a network failure (for example, if your Internet connection is down or our usage server has a temporary outage) the transcriber will attempt to reconnect to our usage server several times.
2024-04-15 13:21:15,556 WARNING prod.orchestrator.eats.api Exception from EATS API call [TRANSCRIBER_DONE] HTTPSConnectionPool(host='usage.speechmatics.com', port=443): Max retries exceeded with url: /v1/log (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7ff57665e760>: Failed to resolve 'usage.speechmatics.com' ([Errno -3] Temporary failure in name resolution)"))
If, after this retry period (which takes up to 3 seconds), the transcriber is still unable to contact our usage server then it will output some WARNING
log messages then cease attempting to send usage information. If this happens then the transcriber will exit normally with an exit code of 0.
For Batch transcribers, the transcriber will exit immediately after this.
For Real-Time transcribers, usage reporting will be disabled for a fixed time period (currently 60 seconds). This is to minimize the impact on the duration of transcription jobs. This retry mechanism will cause a small hit to the speed of transcription, so in the event of a network outage, you may wish to temporarily disable usage reporting by setting the SM_ENABLE_USAGE_REPORTING
variable to false when running the container.
We ask that you inform our Finance Team about the duration and timing of any such outage.
Deployment type
Container
For container deployments, automatic usage reporting is turned ON by default and is currently opt out. It is turned off by setting the environment variable SM_ENABLE_USAGE_REPORTING=false
(false
, no
or 0
are equally valid) when running the transcriber. For example:
docker run -i -v ~/$AUDIO_FILE:/input.audio \
-e LICENSE_TOKEN=eyJhbGciOiJ... \
-e SM_ENABLE_USAGE_REPORTING=false \
batch-asr-transcriber-en:13.0.0
To enable automatic usage reporting, you must be running one of the following ASR Container versions:
- Batch Container
10.1.0
onwards - Real-Time Container
10.1.0
onwards
Automatic usage reporting is turned ON by default, starting from version 10.6.0
.
Virtual Appliance
For virtual appliances, automatic usage reporting is turned ON by default and is currently opt out.
The usage mode can be set via the Management API
curl -L -u admin:admin -X 'POST' \
"http://${APPLIANCE_HOST}/v2/management/usagereporting" \
-d '{"mode": "online"}'
where mode is one of offline
| online