Page 1923 Profiling Duration By Object in 24

App
System Application
Namespace
System.Tooling
Source table
1921

Procedures, 1

Versions171819202122232425262728latest

Source242526272829

Source in 24

src/System Application/App/Performance Profiler/src/ProfilingDurationByObject.Page.al87 lines, Copyright (c) Microsoft Corporation. MIT

// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace System.Tooling;

/// <summary>
/// The list showing the breakdown of time spent by application object on the performance profiler page.
/// </summary>
page 1923 "Profiling Duration By Object"
{
    Caption = 'Time Spent by Application Object';
    PageType = ListPart;
    SourceTable = "Profiling Node";
    InsertAllowed = false;
    DeleteAllowed = false;
    ModifyAllowed = false;
    Editable = false;
    InherentEntitlements = X;
    InherentPermissions = X;

    layout
    {
        area(Content)
        {
            repeater("Duration per application object")
            {
                Editable = false;
                FreezeColumn = "Object Name";

                field("Object Type"; Rec."Object Type")
                {
                    ApplicationArea = All;
                    Caption = 'Object Type';
                    ToolTip = 'Specifies the type of the application object.';
                }
                field("Object Name"; Rec."Object Name")
                {
                    ApplicationArea = All;
                    Caption = 'Object Name';
                    ToolTip = 'Specifies the name of the application object.';
                }
                field("Time Spent"; Rec."Self Time")
                {
                    ApplicationArea = All;
                    Caption = 'Time Spent';
                    ToolTip = 'Specifies the amount of time spent in this application object.';

                    trigger OnDrillDown()
                    var
                        ProfilingDurationByMethod: Page "Profiling Duration By Method";
                    begin
                        ProfilingDurationByMethod.Initialize(Rec."Object Type", Rec."Object ID");
                        ProfilingDurationByMethod.RunModal();
                    end;
                }
                field("App Name"; Rec."App Name")
                {
                    ApplicationArea = All;
                    Caption = 'App Name';
                    ToolTip = 'Specifies the name of the app that the application object belongs to.';
                }
            }
        }
    }


    trigger OnOpenPage()
    begin
        UpdateData();
    end;

    internal procedure UpdateData()
    var
        ProfilingDataProcessor: Codeunit "Profiling Data Processor";
    begin
        Rec.DeleteAll();
        Rec.SetCurrentKey("Object Type", "Object ID");
        ProfilingDataProcessor.GetSelfTimeAggregate(Rec, Enum::"Profiling Aggregation Type"::Object);
        Rec.SetCurrentKey("Self Time");
        Rec.Ascending(false);
        Rec.FindFirst();
    end;
}

Procedures, 1

NameParametersReturnsAccessObsolete
UpdateData()internal-