Skip to content

Telemetry

As a company and an open-source community, our goal is to enhance the overall user experience for everyone. Your feedback is invaluable in helping us achieve this objective. To facilitate this, we have implemented open-source telemetry, ensuring transparency and user privacy. Moving forward, we will collect completely anonymous telemetry data from Quine.

Your participation in our open source telemetry contributes to the continuous improvement of Quine. Thank you for helping us make Quine better every day.

Participating in our telemetry is anonymous, optional, and can be easily opted out.

Why is telemetry important

Our current process of collecting feedback is manual through community interactions, user interviews and community feedback. While this type of feedback is important, it cannot give us a big picture of how the community is interacting with Quine as a whole.

What are we collecting

Telemetry Object Schema:

{
  "service": "string",
  "version": "string",
  "host-hash": "base64",
  "event": "string",
  "time": "ISO-8601"
}

Example:

{
  "service": "Quine",
  "version": "v1.6.2",
  "host-hash": "A5BYxvLAy0ksUzsKTRTvd8wPeKvMztUofYShogEc+4E=",
  "event": "instance.start",
  "time": "2024-01-18T15:14:11−07:00"
}
Metric Description
service This will always be "Quine"
version The release version of the quine.jar.
host-hash An anonymous one way hash identifying your instance of Quine.
event A type of event that we track
time The local time of the event

Which events do we track

Quine's open source telemetry currently only reports instance.start events. More events might be included in the future. The release notes and this document will always descibe any telemetry events added in the future.

How do I inspect what Quine reports

You can inspect the telemetry object by setting the loglevel to INFO loglevel you launch Quine.

java -Dthatdot.loglevel="INFO" -jar quine-1.6.2.jar
2024-01-24 15:27:29,896 INFO [NotFromActor] [main] com.thatdot.quine.app.Main$ - Running 1.5.7-54-gfda3cb8 with 10 available cores and 12GiB max heap size.
2024-01-24 15:27:30,526 INFO [NotFromActor] [graph-service-pekko.actor.default-dispatcher-4] com.thatdot.quine.persistor.ExceptionWrappingPersistenceAgent - No version was set in the persistence backend for: core quine data, initializing to: Version(13.1.0)
2024-01-24 15:27:30,612 INFO [NotFromActor] [graph-service-pekko.actor.default-dispatcher-4] com.thatdot.quine.graph.GraphService - Adding a new local shard at idx: 0
2024-01-24 15:27:30,614 INFO [NotFromActor] [graph-service-pekko.actor.default-dispatcher-4] com.thatdot.quine.graph.GraphService - Adding a new local shard at idx: 1
2024-01-24 15:27:30,614 INFO [NotFromActor] [graph-service-pekko.actor.default-dispatcher-4] com.thatdot.quine.graph.GraphService - Adding a new local shard at idx: 2
2024-01-24 15:27:30,614 INFO [NotFromActor] [graph-service-pekko.actor.default-dispatcher-4] com.thatdot.quine.graph.GraphService - Adding a new local shard at idx: 3
2024-01-24 15:27:30,623 INFO [NotFromActor] [graph-service-pekko.actor.default-dispatcher-4] com.thatdot.quine.persistor.ExceptionWrappingPersistenceAgent - No version was set in the persistence backend for: Quine app state, initializing to: Version(1.2.0)
Graph is ready
2024-01-24 15:27:30,786 INFO [NotFromActor] [main] com.thatdot.quine.app.ImproveQuine$Enabled - Sending anonymous usage data: {
  "service": "Quine",
  "version": "v1.6.2",
  "host_hash": "9PaNiOS3c9VZEStlT9zSn7iNgp4uBmjW0AmQgjsCCRw=",
  "event": "instance.started",
  "time": "2024-01-24T15:27:30.786545-06:00"
}
Quine web server available at http://127.0.0.1:8080

How to opt out

We added a config option help-make-quine-better which defaults to true when you first launch Quine. You can opt-out by adding a help-make-quine-better config option to the quine.conf file and setting it to false.

Opting out of telemetry via system properties

java \
  -Dquine.help-make-quine-better=false \
  -jar quine-1.6.2.jar

Opting out of telemetry via configuration file

quine.conf
quine {
  help-make-quine-better = false
}
java \
  -Dconfig.file=quine.conf \
  -jar quine-1.6.2.jar

Questions

Have questions about our telemetry? Please reach out to the team on Discord. We are happy to hear any feedback that you have!