Importing Profiler Data Files

After capturing run-time information from your application on the target device, saving the profiler data file, and transferring the file to your PC, you must then import the profiler data (.dat) file. Importing the data file converts the file into a format that can be displayed by the analyzer (a .NPI file).

NOTE You do not necessarily need to collect the performance data by using PI Profiler on the device, but you can also do profiling remotely, directly from the PI Wizard in Carbide.c++. For more information, see Collecting Profiler Data Remotely.

Importing a profiler data file will vary depending on if your application was built by Carbide.c++ or is a standalone application. To find the binaries in your application, the importer will need the *.pkg file created when your application was built, or you will need to list all application binaries. If you wish to analyze applications that execute at a static address, you will need the ROM image .symbol file that represents your phone. For dynamically loaded binaries stored in a phone’s ROFS or ROM, a .oby file can be used to describe and list binaries.

Unless your application executes from a fixed address in phone memory (e.g., is part of the flashed phone image), enable dynamic binary support in the Profiler application when capturing your application data in a profiler data file.

NOTE If a large .dat file is imported, the graph and table response time will slow down until the large NPI file is saved. Saving the NPI file will be performed in the background and cannot be canceled.

To import your profiler data file, perform the following steps.

Importing a Profiler Data File

  1. Start the import wizard form the Carbice.c++ toolbat by selecting Carbide > Performance Investigator
  2. Select Profiler Data File(s)

    First use the radio buttons and select to get profiler data From File System.

    NOTE Use the From Device via TraceViewer option if you want to collect new profiler data remotely from the device. For more information, see Collecting Profiler Data Remotely.

    Select .dat file(s) to the From File System list by selecting either

    • Add File and browsing to the file, or
    • Add Directory and browsing to the directory you want to import files from.
    • Use the Remove button to remove one file from the list, or
    • Use the Remove All button to clear all files from the list.

    The .dat file(s) will be converted to a format displayable by the Carbide.c++ analyzer and assigned the .npi extension.

    After selecting the file, the PI views included in the analysisfor filename.dat table will display a list of available views, according to the trace types available in the selected .dat file.

    • By default, all available trace types in the table are selected, so you can de-select the types you do not wish to include in the analysis. The CPU load view is a mandatory analysis and cannot be de-selected.
    • The trace types/views are selected separately for each .dat file.

    After selecting the files and views, click Next to continue.

    Figure 2. Select Profiler Data File

  3. Select Known Available information

    Use the Available Information page to choose how the profiler session is imported. The options include:

    • Project importer — select this option if you have a Carbide project that has a PKG file or if you have a standalone PKG file (a PKG file that has absolute paths)
    • Project and ROM importer — select this option if you have both a Carbide project / package file for the profiled application as well as the ROM image symbol file and OBY file for the profiled device
    • ROM importer — select this option if you have the ROM image symbol file and the OBY file for the profiled device
    • Unknown importer — select this option when you have neither a project or a ROM image

    Click Next to continue.

    NOTE You can also click the Finish button (if enabled) to fill in the remaining wizard pages with persisted values from the last .dat file import. In a new workspace or first time a workspace is used, you will need to define related information in remaining pages, since there is no previous import related to the new workspace. For a new imported .dat file, a new output file name will be generated based on this input file name (+ (digit) + .npi).

    Figure 3. Enter known Available Information

  4. If Both or the ROM image symbol file option is selected, the Select build files from ROM dialog appears. (optional)
  5. Use the Select build files from ROM dialog to select the build files that correspond to the ROM on the device. Start by selecting the SDK, then the ROM OBY file as well as the ROM symbol file. When done, click Next.

    Figure 4. Select build files from ROM dialog

  6. Select Associated Project and Package (.pkg) File

    Use the Associated Project and Package (.pkg) File page to select one or more projects to associate with the imported .dat file as well as choosing its project configuration. Use the Add PKG File control to add a .pkg file during the import operation or the Remove PKG Files control to remove a PKG file from the imported profiler session. Click Next to continue.

    Figure 5. Enter Associated Project and Package (.pkg) File Information

  7. Select Key Press Mapping Profile (requires button trace information)
  8. If the DAT file has button trace enable, the Select Key Press Mapping Profile page appears. Select either a Carbide builtin Key Map Profile or user defined profile (if available) for the target device key map. The key map profile selected in the Window > Preferences > Carbide.c++ > Performance Investigator preference panel is highlighted as the suggested default.

    A suggested key profile will also be selected if only one ROM kit/SDK is selected previously in this import wizard or the profile XML file in the ROM kit/SDK contains only one key map profile.

    keymap profile

    Figure 6. Select Key Press Mapping Profile

  9. Select Output File and Project
  10. Use the Output File and Project page to import the *.npi file into an existing project or create a new empty project.

    NOTE If you used remote profiling for collecting profiler data from the device, the original *.dat file will also be included in the selected project.

    Figure 7. Enter Output File and Project Information

  11. Click Finish to create the *.npi file.

    NOTE Carbide.c++ reserves a large block of memory for the Java Virtual Machine (JVM) to run the whole IDE. However, in some cases, where Profiler trace log is too long in time and/or CPU load has been extensively high over the use case, the trace import process may fail due to out-of-memory situation. The out-of-menory may also lead to instability issues with Carbide itself, but an error message will be always be shown: Multiple problems have occurred. Jave heap space.
    This problem can be avoided by keeping the profiled use cases shorter (the recommendation is maximum 5 minutes), and by selecting only those Profiler plug-ins that are needed for analysing the use case. Shorter use cases (in time) and smaller amount of selected profiler plug-ins also ease up the analysis phase, since it is easier to a browse shorter set of data and to pinpoint the possible performance issues within the trace.
    If you need to analyse longer use cases, there are also other tools available for long-period-testing (LPT). For example, you can run the Nokia Energy Profiler (NEP) directly on target and it can be used for LPT type of use cases.

  12. If Instructions executed has been selected as one of the trace, a the dialog below is displayed during PIAnalyser file import (once for each file f several are imported):

  13. Performance Investigator view will open with the imported files listed in it. A project will also be opened to the Carbide Project Explorer including the imported files.

    If you imported only one file, PIAnalyser will also open showing the views selected for that file. If you imported several files, you can open any one of them by double-clicking the file name in the Performance Investigator view or in the Project Explorer.

Related references