Skip to content
This repository has been archived by the owner on Jun 3, 2021. It is now read-only.

Commit

Permalink
Add render time origin fix. Fix issue that interaction time calculate…
Browse files Browse the repository at this point in the history
…d by heron is much different with platform. (#2666)
  • Loading branch information
wqyfavor authored and lucky-chen committed Jul 10, 2019
1 parent c928c5c commit 354c15d
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 8 deletions.
14 changes: 10 additions & 4 deletions ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
Original file line number Diff line number Diff line change
Expand Up @@ -396,9 +396,12 @@ - (void)_renderWithData:(NSData *)contents
}

self.performance.renderTimeOrigin = CACurrentMediaTime()*1000;
[WXCoreBridge setPageArgument:_instanceId key:@"renderTimeOrigin" value:[NSString stringWithFormat:@"%lld", (long long)([[NSDate date] timeIntervalSince1970] * 1000)]];
self.performance.renderUnixTimeOrigin = [WXUtility getUnixFixTimeMillis];
[self.apmInstance onStage:KEY_PAGE_STAGES_RENDER_ORGIGIN];
long renderOriginTimePlatform = [self.apmInstance onStage:KEY_PAGE_STAGES_RENDER_ORGIGIN];

// pass render origin time to page
[WXCoreBridge setPageArgument:_instanceId key:@"renderTimeOrigin" value:[NSString stringWithFormat:@"%lld", (long long)([[NSDate date] timeIntervalSince1970] * 1000)]];
[WXCoreBridge setPageArgument:_instanceId key:@"renderTimeOriginPlatform" value:[NSString stringWithFormat:@"%lld", (long long)renderOriginTimePlatform]];

if (![WXUtility isBlankString:self.pageName]) {
WXLog(@"Start rendering page:%@", self.pageName);
Expand Down Expand Up @@ -479,9 +482,12 @@ - (void)_renderWithMainBundleString:(NSString *)mainBundleString
}

self.performance.renderTimeOrigin = CACurrentMediaTime()*1000;
[WXCoreBridge setPageArgument:_instanceId key:@"renderTimeOrigin" value:[NSString stringWithFormat:@"%lld", (long long)([[NSDate date] timeIntervalSince1970] * 1000)]];
self.performance.renderUnixTimeOrigin = [WXUtility getUnixFixTimeMillis];
[self.apmInstance onStage:KEY_PAGE_STAGES_RENDER_ORGIGIN];
long renderOriginTimePlatform = [self.apmInstance onStage:KEY_PAGE_STAGES_RENDER_ORGIGIN];

// pass render origin time to page
[WXCoreBridge setPageArgument:_instanceId key:@"renderTimeOrigin" value:[NSString stringWithFormat:@"%lld", (long long)([[NSDate date] timeIntervalSince1970] * 1000)]];
[WXCoreBridge setPageArgument:_instanceId key:@"renderTimeOriginPlatform" value:[NSString stringWithFormat:@"%lld", (long long)renderOriginTimePlatform]];

if (![WXUtility isBlankString:self.pageName]) {
WXLog(@"Start rendering page:%@", self.pageName);
Expand Down
2 changes: 1 addition & 1 deletion ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ extern NSString* const VALUE_ERROR_CODE_DEFAULT;
#pragma mark - basic method

- (void) onEvent:(NSString *)name withValue:(id)value;
- (void) onStage:(NSString *)name;
- (long) onStage:(NSString *)name;
- (void) onStageWithTime:(NSString*)name time:(long)unixTime;
- (void) setProperty:(NSString *)name withValue:(id)value;
- (void) setStatistic:(NSString *)name withValue:(double)value;
Expand Down
9 changes: 6 additions & 3 deletions ios/sdk/WeexSDK/Sources/Performance/WXApmForInstance.m
Original file line number Diff line number Diff line change
Expand Up @@ -160,12 +160,15 @@ - (void) onEvent:(NSString *)name withValue:(id)value
[self.apmProtocolInstance onEvent:name withValue:value];
}

- (void) onStage:(NSString *)name
- (long) onStage:(NSString *)name
{
if(_isEnd){
return;
return 0;
}
[self onStageWithTime:name time:[WXUtility getUnixFixTimeMillis]];

long result = [WXUtility getUnixFixTimeMillis];
[self onStageWithTime:name time:result];
return result;
}

- (void) onStageWithTime:(NSString*)name time:(long)unixTime
Expand Down

0 comments on commit 354c15d

Please sign in to comment.