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

View File

@ -36,8 +36,7 @@ message Event {
string pseudoId = 5; string pseudoId = 5;
map<string, string> userProperties = 6; map<string, string> userProperties = 6;
string sessionID = 7; uint32 sessionID = 7;
uint64 userFirstTouchTimestamp = 8;
} }
message DeviceInfo { 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(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') ..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')) ..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<$core.int>(7, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'sessionID', $pb.PbFieldType.OU3, protoName: 'sessionID')
..a<$fixnum.Int64>(8, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'userFirstTouchTimestamp', $pb.PbFieldType.OU6, protoName: 'userFirstTouchTimestamp', defaultOrMaker: $fixnum.Int64.ZERO)
..hasRequiredFields = false ..hasRequiredFields = false
; ;
@ -151,8 +150,7 @@ class Event extends $pb.GeneratedMessage {
$core.String? userId, $core.String? userId,
$core.String? pseudoId, $core.String? pseudoId,
$core.Map<$core.String, $core.String>? userProperties, $core.Map<$core.String, $core.String>? userProperties,
$core.String? sessionID, $core.int? sessionID,
$fixnum.Int64? userFirstTouchTimestamp,
}) { }) {
final _result = create(); final _result = create();
if (name != null) { if (name != null) {
@ -176,9 +174,6 @@ class Event extends $pb.GeneratedMessage {
if (sessionID != null) { if (sessionID != null) {
_result.sessionID = sessionID; _result.sessionID = sessionID;
} }
if (userFirstTouchTimestamp != null) {
_result.userFirstTouchTimestamp = userFirstTouchTimestamp;
}
return _result; return _result;
} }
factory Event.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); 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); $core.Map<$core.String, $core.String> get userProperties => $_getMap(5);
@$pb.TagNumber(7) @$pb.TagNumber(7)
$core.String get sessionID => $_getSZ(6); $core.int get sessionID => $_getIZ(6);
@$pb.TagNumber(7) @$pb.TagNumber(7)
set sessionID($core.String v) { $_setString(6, v); } set sessionID($core.int v) { $_setUnsignedInt32(6, v); }
@$pb.TagNumber(7) @$pb.TagNumber(7)
$core.bool hasSessionID() => $_has(6); $core.bool hasSessionID() => $_has(6);
@$pb.TagNumber(7) @$pb.TagNumber(7)
void clearSessionID() => clearField(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 { enum DeviceInfo_DeviceInfo {

View File

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