-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Telemetry Sender #26
Telemetry Sender #26
Conversation
Refer to this link for build results (access rights to CI server needed): |
Refer to this link for build results (access rights to CI server needed): |
Refer to this link for build results (access rights to CI server needed): |
I think we should say more clearly that this is happening. Currently only way of knowing this is by navigating into If we want to send 1 telemetry anyways, we should then (in dashboard) say that Currently
Otherwise looks good 👍 |
You're absolutely correct: one telemetry payload is sent unless the user knows to navigate to I'm not sure I agree with the procedure either, though I reasoned with myself that it isn't that bad, considering it contains no business information. But yeah, you're right, this is definitely happening very quietly, even sneakily, behind the curtains. I also have the feeling giving users the choice to opt-out by default would have more users opting out than leaving it be, and I got the impression from @tomiap that we really do want to gather these statistics anyway. For the record, here's an example payload (as displayed on the Telemetry information page): {
"apps": [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"django_jinja",
"filer",
"easy_thumbnails",
"shoop.core",
"shoop.simple_pricing",
"shoop.simple_supplier",
"shoop.default_tax",
"shoop.front",
"shoop.front.apps.registration",
"registration",
"shoop.front.apps.auth",
"shoop.front.apps.customer_information",
"shoop.front.apps.personal_order_history",
"shoop.front.apps.simple_order_notification",
"shoop.front.apps.simple_search",
"shoop.admin",
"shoop.addons",
"shoop.testing",
"bootstrap3",
"shoop.notify",
"shoop.simple_cms"
],
"host": "127.0.0.1:8000",
"key": "icbTWzYGQb9UT4OteMGioIAsjrUabx2GbuHlnldRwwSq6wjo",
"machine": "AMD64",
"platform": "Windows-8-6.2.9200",
"python_version": "3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:16:31) [MSC v.1600 64 bit (AMD64)]",
"shoop_version": "1.0.0"
} So yeah -- this really is a policy issue. I'm happy to rework the code to be opt-in by default, or something else altogether, but I do need PO input on that. |
Refer to this link for build results (access rights to CI server needed): |
Refer to this link for build results (access rights to CI server needed): |
As discussed in meatspace, I added a 24 hour grace period during which telemetry payloads will never be sent. |
Refer to this link for build results (access rights to CI server needed): |
|
||
OPT_OUT_KWARGS = dict(module="telemetry", key="opt_out") | ||
INSTALLATION_KEY_KWARGS = dict(module="telemetry", key="installation_key") | ||
LAST_DATA_KWARGS = dict(module="telemetry", key="last_data") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why you're using dict(foo=bar)
rather than the normal {'foo': bar}
construct here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I see... It seems more logical now that I looked the code that uses them... These are OK.
c07e496
to
e06abfd
Compare
retest this please |
Refer to this link for build results (access rights to CI server needed): |
<p> | ||
The data contains an unique installation key, | ||
as well as the hostname of the installation (as sent by the visiting browser; currently | ||
<code>{{ request.get_host() }}</code>). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, very nice improvement to the "HTTP client". Much better, IMHO. Thanks.
return data | ||
|
||
|
||
def send_telemetry(request=None, max_age_hours=72, raise_on_error=False): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
max_age_hours should probably be a setting rather than argument here.
Btw, commit message title should not end with period. |
Refs SHOOP-741
Refs SHOOP-741
Refs SHOOP-741
Renamed to |
Refer to this link for build results (access rights to CI server needed): |
Refer to this link for build results (access rights to CI server needed): |
Theme wizard (EE-52)
…-bug Allow longer region_codes in addresses
Implements an opt-in-by-default telemetry sender.
The receiving side is
still missingcurrently in PR review, so this doesn't do much except slow down loading of the admin dashboard for a few seconds every 72 hours.