Utveckling

Prev Next

Genom att gå till Snabbåtkomstmeny > Utveckling finns det ett antal utvecklingsverktyg du kan använda för att finslipa din Totara-upplevelse, inklusive felsökning och experimentella inställningar

Du kan också hitta vår offentliga utvecklardokumentation användbar, eftersom den innehåller ett antal användbara guider och resurser för utvecklare. 

Nedan hittar du förklaringar om vad vart och ett av dessa verktyg gör (förutom experimentella funktioner och felsökning, eftersom dessa är något mer komplexa och därför har egna dedikerade sidor). 

Webbtjänst testklient

Webbtjänsttestklienten utför funktionerna på riktigt, så du bör inte testa funktioner som du inte känner till.

Alla befintliga webbtjänstfunktioner är ännu inte implementerade i testklienten. För att kontrollera att en användare inte kan komma åt vissa funktioner kan du testa vissa funktioner som du inte tillåtit. För att se tydligare felmeddelanden, ställ in felsökningen på NORMAL: Visa fel, varningar och meddelanden i felsökningsmeddelanden .

Rensa alla cacheminnen

Rensa alla cacheminnen kan nås via administrationsblocket i snabbåtkomstmenyn > Utveckling > Rensa alla cacheminnen.

Totara kan cacha teman, javascript, språksträngar, filtrerad text, RSS-flöden och många andra bitar av beräknade data. Rensning av dessa cacheminnen kommer att radera dessa data från servern och tvinga webbläsare att hämta data, så att du kan vara säker på att du ser de senaste värdena som produceras av den aktuella koden. Det finns ingen risk med att rensa cacher, men din webbplats kan verka långsammare ett tag tills servern och klienterna beräknar ny information och cacher den.

Gör testkurs

Detta verktyg skapar standardtestkurser som inkluderar många sektioner, aktiviteter och filer. Detta är avsett att tillhandahålla ett standardiserat mått för att kontrollera tillförlitligheten och prestandan för olika systemkomponenter (såsom säkerhetskopiering och återställning).

Detta test är viktigt eftersom det har funnits många fall tidigare där, inför verkliga användarfall (t.ex. en kurs med 1 000 aktiviteter), systemet inte fungerar. Kurser som skapats med denna funktion kan uppta en stor mängd databas- och filsystemutrymme (tiotals gigabyte). Du måste ta bort kurserna (och vänta på olika rengöringskörningar) för att frigöra detta utrymme igen.

Använd inte denna funktion på ett live-system. Använd endast på en utvecklarserver. För att undvika oavsiktlig användning är denna funktion inaktiverad om du inte också har valt felsökningsnivå för DEVELOPER.

Gör JMeter testplan

Detta verktyg skapar en JMeter-testplanfil tillsammans med filen med användaruppgifter.

Denna testplan är utformad för att fungera tillsammans med https://github.com/moodlehq/moodle-performance-comparison, vilket gör det enklare att köra testplanen i en specifik Totara-miljö, samlar information om körningarna och jämför resultaten. Du kommer behöva ladda ner den och använda dess test_runner.sh-skript eller följa installations- och användningsinstruktionerna.

Du behöver ställa in ett lösenord för kursanvändarna i config.php (t.ex. $CFG->tool_generator_users_password = 'totara';). Det finns inget standardvärde för detta lösenord för att förhindra oavsiktlig användning av verktyget. Du behöver använda alternativet för att uppdatera lösenord ifall dina kursanvändare har andra lösenord, eller om de genererades av tool_generator men utan att ställa in ett $CFG->tool_generator_users_password värde.

Det är en del av tool_generator så det fungerar bra med kurser som genereras av kurs- och webbplatsgeneratorer, det kan också användas med vilken kurs som helst som innehåller åtminstone:

  • Tillräckligt många registrerade användare (beroende på vilken storlek på testplan du väljer) med lösenordsåterställningen till 'totara'

  • En sidmodulinstans

  • En forummodulinstans med minst en diskussion och ett svar

Du kanske vill överväga serverns kapacitet när du kör stora testplaner, eftersom mängden som ska laddas som genereras av JMeter kan vara särskilt stor. Upptrappningsperioden har justerats enligt antalet trådar (användare) för att minska denna typ av problem, men belastningen är fortfarande enorm.

Kör inte testplanen på ett live-system. Denna funktion skapar endast filer för att mata JMeter, så är inte farligt i sig, men du bör ALDRIG köra denna testplan på en produktionsplats.

Excimer Profiler

Från Totara 19.1, ingår Excimer profiler som en kärnkomponent för att hjälpa till att diagnostisera och felsöka prestandaproblem i produktionsmiljöer. Denna profiler körs effektivt och säkert, och samlar in prestandadata för långsamma förfrågningar utan att påverka systemets stabilitet.

Profilern är inaktiverad som standard, även om PHP-tillägget är installerat och aktiverat.

Krav

Excimer profiler kräver Excimer PHP-tillägget. Följ instruktionerna på MediaWiki’s dokumentation för att installera och aktivera tillägget på din server.

När det är installerat, är profilergränssnittet tillgängligt via:

Snabbåtkomstmeny > Utveckling > Excimer profiler.

Aktivera och Konfigurera Profilern

Du kan konfigurera Excimer via:

Snabbåtkomstmenyn > Utveckling > Excimer profiler > Excimer inställningar

Följande alternativ är tillgängliga:

Inställning

Beskrivning

Förvalt

Aktivera Excimer

Aktiverar eller avaktiverar profilern.

Av

Aktivera automatisk profilering

Spara automatiskt profiler för långsamma förfrågningar.

Av

Aktivera ungefärlig räkning

Använder ungefärlig räkning för att spåra sidans användning.

Av

Minsta förfrågningsvaraktighet (ms)

Endast profilförfrågningar långsammare än detta värde.

5000

Uppgiftens minsta varaktighet (s)

Endast profilschemalagda uppgifter långsammare än detta värde.

60

Samplingsperiod (ms)

Intervall för prestationsinsamling.

10

Bearbetningsintervall (s)

Frekvens för uppgiftsbearbetning.

10

Provtagningsgräns

Maximalt antal prover att behålla.

1024

Stackningsgräns

Maximal rekursion/stackdjup.

1000

Logg utgår (dagar)

Tid innan profiler rensas.

30

Månader att behålla ungefärliga räkneuppgifter

Lämna tomt för att behålla data på obestämd tid.

12

Parametrar att maskera

Tar automatiskt bort känsliga parametrar (t.ex. authtoken, sesskey, etc.).

Aktivera delvis sparande

Möjliggör sparande av delvisa profiler under långvariga processer.

Av

Max att spara

Maximalt antal långsamma profiler att behålla.

1000

Max att spara per sida

Maximalt antal profiler sparade per skript.

5

Använda Profileraren

Om automatisk profilering är aktiverad loggas förfrågningar som är långsammare än den konfigurerade tröskeln automatiskt (standard: 5 sekunder).

Du kan också manuellt starta en profilering:

Webbexempel:

/course/view.php?id=2&FLAMEME=1

Om det inte finns några befintliga URL-parametrar, använd ?FLAMEME=1

CLI-exempel:

export FLAMEME=1 && php admin/cli/upgrade.php

Tolka resultaten

Varje profil innehåller ett flamloppsdiagram som visualiserar stackspåret:

  • X-axel: Alfabetisk lista över alla registrerade funktioner (inte kronologisk)

  • Y-axel: Stackdjup (lägre = kallades tidigare)

  • Bredd: Varaktighet för funktionsanropet

  • Färg: Endast estetiskt — färgerna har ingen betydelse

Att klicka på en ruta filtrerar till den funktionen och dess barnanrop för enklare granskning.

Rensning och Datahantering

Excimer-profiler rensas automatiskt via schemalagda uppgifter:

  • Föråldra Excimer-loggar

  • Rensa bort snabbaste Excimer-profiler

  • Rensa bort ungefärlig sidgruppsräknedata

Du kan konfigurera hur länge loggar sparas och antalet profiler som behålls.

Låsta Profiler

Vissa profiler kan vara låsta (med en "Låsprofilorsak") för att skydda dem från radering. Låsta profiler:

  • Utesluts från rensning och manuell radering

  • Kan inte raderas i gruppåtgärder

  • Är bevarade för revision eller utredning

Undantag: Låsta profiler tas bort om de tillhör en användare vars data rensas.

Exportera och importera profiler

Exportera:

Du kan exportera en profil som en JSON-fil för analys eller stödrapportering. Använd knappen Exportera profil på en profilsida.

Granska exporterade data innan delning, eftersom de kan innehålla identifierbar information.

Importera:

För att importera en profil måste din config.php inkludera PHP:

$CFG->excimer_allow_profile_import = true;

Importerade profiler är markerade med en "orsak" av import.

Andra utvecklingsverktyg

Det finns också en rad andra verktyg för utvecklare att använda, inklusive:

  • Tredjepartsbibliotek

  • Acceptanstest

  • PHPUnit-tester

  • Mallbibliotek

  • XMLDB-redigerare

  • Webb-API

Join the Totara Community for more resources to help you get the most out of Totara. 


© Copyright 2025 Totara Learning Solutions. All rights reserved. Some content originally obtained via GPLv3 license and continues to be available under GPLv3. All other content is the sole copyright of Totara Learning Solutions.