Skip to content

ATRACE capture fails when android:process includes ":" character #48

@cutephoton

Description

@cutephoton

I have two processes. xyz.qrs:tuv and abc.def; The xyz.qrs:tuv process is package xyz.qrs with service tuv. Specifying xyz.qrs yields no results for that process, but captures abc.def. As soon as I write "xyz.qrs:tuv", nothing is captured. What's going on here? Do I need the :tuv?

data_sources: {
    config {
        name: "linux.ftrace"
        ftrace_config {
            atrace_apps: "xyz.qrs:tuv" # fails to capture anything for all processes
            atrace_apps: "xyz.qrs" # OK
            atrace_apps: "abc.def" # OK
        }
    }
}

There is a bug: src/traced/probes/ftrace/ftrace_config_utils.cc

bool IsGoodAtracePunctuation(char c) {
return c == '_' || c == '.' || c == '*';
}

Doesn't allow ':' characters which are used in multiple android processes via android:process=":tuv" in manifest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions