Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1007)

Side by Side Diff: dart_microlytics/lib/microlytics.dart

Issue 515993003: Minimalistic analytics library used by Dart Server and try.dartlang.org (Closed) Base URL: https://github.com/lukechurch/dart-mircolytics.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
ahe 2014/09/02 13:44:24 Add line between copyright and library declaration
lukechurch 2014/09/03 11:27:16 Done.
4 library microlytics;
5
6 import 'channels.dart';
7 import 'io_channels.dart';
8
9 /// Very limited implementation of an API to report usage to Google Analytics.
10 /// No Personally Identifiable Information must ever be passed to this class.
11 class AnalyticsLogger {
12 final Channel _channel;
13 final String _clientID;
14 final String _analyticsID;
15 final String _appName;
16 final String _appVersion;
17
18 /// Create a new logger
19 /// [_channel] represents how this is going to be sent, this would typically
20 /// be a [RateLimitingBufferedChannel] wrapping either a [HttpRequestChannel]
21 /// or a [HttpClientChannel]
22 /// [_clientID] is a version 4 UUID associated with the particular site or app
23 /// [_appName] is an application name
24 /// [_appVersion] is a verion string
25 AnalyticsLogger(
26 this._channel,
27 this._clientID,
28 this._analyticsID,
29 this._appName,
30 this._appVersion);
31
32 void logAnonymousTiming(String category, String variable, int ms) {
33 category = Uri.encodeComponent(category);
34 variable = Uri.encodeComponent(variable);
35 _channel.sendData(
36 "v=1"
37 "&tid=${this._analyticsID}"
38 "&cid=${this._clientID}"
39 "&t=timing"
40 "&utc=$category"
41 "&utv=$variable"
42 "&utt=$ms"
43 "&an=${this._appName}"
44 "&av=${this._appVersion}"
ahe 2014/09/02 13:44:24 Can you share (some of) this string between the tw
lukechurch 2014/09/02 19:52:37 Done.
45 );
ahe 2014/09/02 13:44:24 Move to previous line.
lukechurch 2014/09/02 19:52:37 Done.
46 }
47
48 void logAnonymousEvent(String category, String event) {
49 category = Uri.encodeComponent(category);
50 event = Uri.encodeComponent(event);
51 _channel.sendData(
52 "v=1"
53 "&tid=${this._analyticsID}"
54 "&cid=${this._clientID}"
55 "&t=event"
56 "&ec=$category"
57 "&ea=$event"
58 "&an=${this._appName}"
59 "&av=${this._appVersion}"
60 );
ahe 2014/09/02 13:44:24 Move to previous line.
lukechurch 2014/09/02 19:52:37 Done.
61 }
62 }
63
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698