> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/da/udvikling/profiling.md).

# Profilering

Aktivér ydeevneprofileren i PowerShell Universal for at diagnosticere langsomme dashboards, API'er og jobs ved hjælp af Measure-PSUBlock og dashboardet med profilerresultater.

{% hint style="info" %}
Profilering fungerer kun for det integrerede miljø.
{% endhint %}

PowerShell Universal leverer en ydeevneprofiler til fejlfinding af problemer, hvor platformen kan udvise langsomme svar. Dette er primært nyttigt ved opbygning af Dashboards.

## Aktivér profilering

Profilering øger hukommelsesbrugen, da profileringsdata gemmes i hukommelsen. De kan aktivere profilering ved at konfigurere egenskaben `Profiling` i appsettings.json. Det er `false` som standard. De skal genstarte PowerShell Universal efter aktivering eller deaktivering af profilering.

```json
"Profiling": true
```

## Få adgang til profileringsdata

De kan få adgang til profileringsdata ved at gå til `/profiler/results-index` . De skal være logget på som administrator, før De kan få adgang til denne URL.

De vil se en liste over anmodninger og deres tidsmålinger.

Når der klikkes på anmodningen, vises en opdeling af tidsmålingerne.

## Profilering af et API-slutpunkt

De kan profilere et API-slutpunkt ved hjælp af `Measure-PSUBlock`. API'en vises efter URL i resultatindekset.

Antag for eksempel en API kaldet `/process`.

```powershell
New-PSUEndpoint -Url "/process" -Endpoint {
    Measure-PSUBlock -Name 'Api' -ScriptBlock {
        Get-Process | Select-Object name
    }
} -Authentication -Timeout 0 
```

Resultatet af profilering af denne API ville blive opført efter URL.

Visning af profilen for denne API ville opliste den blok, vi målte.

## Profilering af en app

{% hint style="info" %}
`Measure-UDBlock` er et alias for `Measure-PSUBlock`
{% endhint %}

De kan bruge den indbyggede profiler med Apps. Som standard registreres tidsmålinger for visse interne handlinger. De kan også bruge cmdletten `Measure-PSUBlock` til at måle bestemte blokke i Deres dashboard.

Denne app bruger f.eks. `Measure-PSUBlock` til at måle ydeevnen for cmdlet'en `Start-Sleep`. Resultatet er, at blokken tager ét sekund at udføre.

```powershell
New-UDApp -Title 'App' -Content {
    New-UDDynamic -Id 'MyElement' -Content {
        Measure-PSUBlock -Name 'WithinDashboard' -ScriptBlock {
            Start-Sleep 1
        }
    }
}
```

Når De gennemgår anmodninger i profileren, bør De se efter `UDComponent\ElementPost` og `UDComponent\Element`. Dette er anmodninger om elementer i Apps.

Nedenfor er eksempeloutputtet fra den app, der er vist ovenfor. Bemærk, at URL'en indeholder elementets id `MyElement`. De vil også bemærke, at blokken `WithinDashboard` tager ca. 1 sekund.

Ikke alle tidsmålinger vises som standard. De kan klikke på `show trivial` for at udvide alle tidsmålinger.

## Profilering af et job

De kan profilere jobs ved hjælp af `Measure-PSUBlock` i Deres script.

Antag for eksempel, at vi har et script, der kalder `Get-Service`.

```powershell
Measure-PSUBlock -ScriptBlock {
    Get-Service
} -Name 'Get-Service'
```

Kørsel af en profil på dette script viser jobbet som `JobProfiler/{id}`. id'et svarer til det job-id, der vises i admin console.

Profilen vil indeholde den blok, der blev målt.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/powershell-universal/da/udvikling/profiling.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
