Analytics: Make sessionID an int

It doesn't need to be a string.

Also remove the userFirstTouchTimestamp, it isn't being used.
This commit is contained in:
Vishesh Handa
2021-08-17 00:27:34 +02:00
parent 7785dda682
commit ddf3ef021a
4 changed files with 9 additions and 32 deletions

View File

@ -34,7 +34,7 @@ class Analytics {
required this.pseudoId,
required this.config,
}) {
_sessionId = DateTime.now().millisecondsSinceEpoch.toRadixString(16);
_sessionId = DateTime.now().millisecondsSinceEpoch ~/ 1000;
}
static Analytics? _global;
@ -90,7 +90,7 @@ class Analytics {
static Analytics? get instance => _global;
late String _sessionId;
late int _sessionId;
late String pseudoId;
var userProps = <String, String>{};
@ -125,7 +125,6 @@ class Analytics {
pseudoId: pseudoId,
userProperties: userProps,
sessionID: _sessionId,
userFirstTouchTimestamp: null,
);
}

View File

@ -36,8 +36,7 @@ message Event {
string pseudoId = 5;
map<string, string> userProperties = 6;
string sessionID = 7;
uint64 userFirstTouchTimestamp = 8;
uint32 sessionID = 7;
}
message DeviceInfo {

View File

@ -138,8 +138,7 @@ class Event extends $pb.GeneratedMessage {
..aOS(4, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'userId', protoName: 'userId')
..aOS(5, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'pseudoId', protoName: 'pseudoId')
..m<$core.String, $core.String>(6, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'userProperties', protoName: 'userProperties', entryClassName: 'Event.UserPropertiesEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS, packageName: const $pb.PackageName('gitjournal'))
..aOS(7, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'sessionID', protoName: 'sessionID')
..a<$fixnum.Int64>(8, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'userFirstTouchTimestamp', $pb.PbFieldType.OU6, protoName: 'userFirstTouchTimestamp', defaultOrMaker: $fixnum.Int64.ZERO)
..a<$core.int>(7, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'sessionID', $pb.PbFieldType.OU3, protoName: 'sessionID')
..hasRequiredFields = false
;
@ -151,8 +150,7 @@ class Event extends $pb.GeneratedMessage {
$core.String? userId,
$core.String? pseudoId,
$core.Map<$core.String, $core.String>? userProperties,
$core.String? sessionID,
$fixnum.Int64? userFirstTouchTimestamp,
$core.int? sessionID,
}) {
final _result = create();
if (name != null) {
@ -176,9 +174,6 @@ class Event extends $pb.GeneratedMessage {
if (sessionID != null) {
_result.sessionID = sessionID;
}
if (userFirstTouchTimestamp != null) {
_result.userFirstTouchTimestamp = userFirstTouchTimestamp;
}
return _result;
}
factory Event.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
@ -245,22 +240,13 @@ class Event extends $pb.GeneratedMessage {
$core.Map<$core.String, $core.String> get userProperties => $_getMap(5);
@$pb.TagNumber(7)
$core.String get sessionID => $_getSZ(6);
$core.int get sessionID => $_getIZ(6);
@$pb.TagNumber(7)
set sessionID($core.String v) { $_setString(6, v); }
set sessionID($core.int v) { $_setUnsignedInt32(6, v); }
@$pb.TagNumber(7)
$core.bool hasSessionID() => $_has(6);
@$pb.TagNumber(7)
void clearSessionID() => clearField(7);
@$pb.TagNumber(8)
$fixnum.Int64 get userFirstTouchTimestamp => $_getI64(7);
@$pb.TagNumber(8)
set userFirstTouchTimestamp($fixnum.Int64 v) { $_setInt64(7, v); }
@$pb.TagNumber(8)
$core.bool hasUserFirstTouchTimestamp() => $_has(7);
@$pb.TagNumber(8)
void clearUserFirstTouchTimestamp() => clearField(8);
}
enum DeviceInfo_DeviceInfo {

View File

@ -110,14 +110,7 @@ const Event$json = const {
'6': '.gitjournal.Event.UserPropertiesEntry',
'10': 'userProperties'
},
const {'1': 'sessionID', '3': 7, '4': 1, '5': 9, '10': 'sessionID'},
const {
'1': 'userFirstTouchTimestamp',
'3': 8,
'4': 1,
'5': 4,
'10': 'userFirstTouchTimestamp'
},
const {'1': 'sessionID', '3': 7, '4': 1, '5': 13, '10': 'sessionID'},
],
'3': const [Event_ParamsEntry$json, Event_UserPropertiesEntry$json],
};
@ -144,7 +137,7 @@ const Event_UserPropertiesEntry$json = const {
/// Descriptor for `Event`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List eventDescriptor = $convert.base64Decode(
'CgVFdmVudBISCgRuYW1lGAEgASgJUgRuYW1lEhIKBGRhdGUYAiABKARSBGRhdGUSNQoGcGFyYW1zGAMgAygLMh0uZ2l0am91cm5hbC5FdmVudC5QYXJhbXNFbnRyeVIGcGFyYW1zEhYKBnVzZXJJZBgEIAEoCVIGdXNlcklkEhoKCHBzZXVkb0lkGAUgASgJUghwc2V1ZG9JZBJNCg51c2VyUHJvcGVydGllcxgGIAMoCzIlLmdpdGpvdXJuYWwuRXZlbnQuVXNlclByb3BlcnRpZXNFbnRyeVIOdXNlclByb3BlcnRpZXMSHAoJc2Vzc2lvbklEGAcgASgJUglzZXNzaW9uSUQSOAoXdXNlckZpcnN0VG91Y2hUaW1lc3RhbXAYCCABKARSF3VzZXJGaXJzdFRvdWNoVGltZXN0YW1wGjkKC1BhcmFtc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaQQoTVXNlclByb3BlcnRpZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgB');
'CgVFdmVudBISCgRuYW1lGAEgASgJUgRuYW1lEhIKBGRhdGUYAiABKARSBGRhdGUSNQoGcGFyYW1zGAMgAygLMh0uZ2l0am91cm5hbC5FdmVudC5QYXJhbXNFbnRyeVIGcGFyYW1zEhYKBnVzZXJJZBgEIAEoCVIGdXNlcklkEhoKCHBzZXVkb0lkGAUgASgJUghwc2V1ZG9JZBJNCg51c2VyUHJvcGVydGllcxgGIAMoCzIlLmdpdGpvdXJuYWwuRXZlbnQuVXNlclByb3BlcnRpZXNFbnRyeVIOdXNlclByb3BlcnRpZXMSHAoJc2Vzc2lvbklEGAcgASgNUglzZXNzaW9uSUQaOQoLUGFyYW1zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpBChNVc2VyUHJvcGVydGllc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAE=');
@$core.Deprecated('Use deviceInfoDescriptor instead')
const DeviceInfo$json = const {
'1': 'DeviceInfo',