Skip to content

[android] All react-native-mark are relative to system.uptime #50

Closed
@bestander

Description

@bestander

I see discrepancy in behavior between iOS and Android.
On Android all react-native-mark marks are relative to the OS uptime and all manual performance.mark() calls are in unix time.
This makes it difficult to align react native startup markers with all the rest because system uptime is not exposed to RN runtime.

[
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "nativeLaunchStart",
        "startTime": 46830987
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "nativeLaunchEnd",
        "startTime": 46831916
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "processCoreReactPackageStart",
        "startTime": 46900808
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "downloadStart",
        "startTime": 46900096
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "preRunJsBundleStart",
        "startTime": 46901261
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "preSetupReactContextStart",
        "startTime": 46901261
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "createUiManagerModuleConstantsEnd",
        "startTime": 46901427
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "bridgeSetupStart",
        "startTime": 46900093
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "setupReactContextEnd",
        "startTime": 46901437
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "contentAppeared",
        "startTime": 46901773
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "vmInit",
        "startTime": 46900805
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "createUiManagerModuleStart",
        "startTime": 46901261
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "attachMeasuredRootViewsEnd",
        "startTime": 46901437
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "reactContextThreadStart",
        "startTime": 46900770
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "reactContextThreadEnd",
        "startTime": 46900804
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "createViewManagersStart",
        "startTime": 46901261
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "createCatalystInstanceStart",
        "startTime": 46901025
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "createViewManagersEnd",
        "startTime": 46901261
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "createReactContextStart",
        "startTime": 46900806
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "preSetupReactContextEnd",
        "startTime": 46901261
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "createUiManagerModuleEnd",
        "startTime": 46901427
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "buildNativeModuleRegistryEnd",
        "startTime": 46901025
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "buildNativeModuleRegistryStart",
        "startTime": 46901025
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "createCatalystInstanceEnd",
        "startTime": 46901260
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "setupReactContextStart",
        "startTime": 46901261
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "attachMeasuredRootViewsStart",
        "startTime": 46901261
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "createUiManagerModuleConstantsStart",
        "startTime": 46901261
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "downloadEnd",
        "startTime": 46900727
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "processCoreReactPackageEnd",
        "startTime": 46900811
    },
    {
        "detail": undefined,
        "duration": 0,
        "entryType": "mark",
        "name": "Test",
        "startTime": 1627518139392
    }
]

On iOS marks are consistent and relative to performance.now():

[
    {
        "detail": undefined,
        "duration": 0,
        "entryType": "mark",
        "name": "Test",
        "startTime": 61274217.183125004
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "nativeLaunchStart",
        "startTime": 61246463
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "nativeLaunchEnd",
        "startTime": 61259702
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "downloadStart",
        "startTime": 61260965
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "downloadEnd",
        "startTime": 61273060
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "runJsBundleStart",
        "startTime": 61273075
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "runJsBundleEnd",
        "startTime": 61273772
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "bridgeSetupStart",
        "startTime": 61260520
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "bridgeSetupEnd",
        "startTime": 61273773
    },
    {
        "duration": 0,
        "entryType": "react-native-mark",
        "name": "contentAppeared",
        "startTime": 61274668
    },
    {
        "detail": undefined,
        "duration": 0,
        "entryType": "metric",
        "name": "bundleSize",
        "startTime": 61274669.021291,
        "value": 4426135
    }
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions