Jobs
Het implementeren van modellen en pipelines in Cordatus is een snel en eenvoudig proces dat maar een paar klikken vereist. Elke implementatie wordt beheerd als een onafhankelijke Job-instantie. Inference-analyses en alarmen worden voor elke job apart bijgehouden en opgeslagen.
Cordatus gebruikt de NVIDIA DeepStream SDK voor Intelligent Video Analytics. De DeepStream-versie kan per apparaat verschillen, wat kleine verschillen kan veroorzaken in de mogelijkheden van Cordatus.
Een nieuwe job starten
Het implementatieproces is exact hetzelfde voor gebruiksklare modellen, aangepaste modellen en pipelines in Cordatus.
Belangrijke opmerkingen
- U kunt meerdere jobinstanties aanmaken vanuit één model of pipeline
- Een job kan inference uitvoeren op meerdere camerastreams binnen de licentiecapaciteit van uw apparaat
NOTE: Zorg er, voordat u een model implementeert, voor dat u minstens één actieve camera en clientapparaat aan Cordatus hebt toegevoegd. Zie de secties Camera en Device voor gedetailleerde instructies.
Stappen om een job te starten
- Ga naar de pagina AI Platform → AI Workflow in het linkermenu van de Web App.
- Als u een job wilt starten met één model, kunt u een model selecteren of via de afspeelknop ernaast naar het opstartscherm gaan.
- U komt terecht op het scherm Select a Device. Selecteer hier het apparaat waarop u de job wilt starten en klik daarna op de knop Select Device.
- Voer de jobvereisten in:
Vereisten
| Veld | Beschrijving |
|---|---|
| Job Name | Geef uw job een naam. De job wordt in de analyseschermen met deze naam geïdentificeerd. |
| Camera Selection | Selecteer de camera('s) waarop u uw job wilt starten. U kunt de pagina Cameras bezoeken om camera's toe te voegen. |
| Model Assignment Matrix | Met deze matrix kunt u selecteren welk model op welke camera draait. Dit scherm verschijnt alleen als u meerdere modellen selecteert. Als u één model selecteert, verschijnt dit scherm niet. |
| Computing Device | Als uw geselecteerde apparaat gereed is, ziet u rechts het bericht Device Ready. |
| GPU Configuration | Wanneer u meerdere GPU's hebt, worden deze hier vermeld. U kunt selecteren op welke GPU u deze job wilt starten. |
| Add Alarm (Optional) | U kunt bij het starten van uw job modelgebaseerde alarmen toevoegen. Deze alarmen moeten vooraf gedefinieerd zijn. U kunt hiervoor de pagina Alarms raadplegen. |
| Schedule Job (Optional) | Als u wilt dat de job op specifieke tijden start en stopt, kunt u uw job plannen. |
- Klik daarna op de knop Start Job om de job te starten.
Eerste implementatie
INFO: Wanneer een job voor de eerste keer op een apparaat wordt geïmplementeerd, kan het proces enige tijd duren, afhankelijk van het apparaat en de internetsnelheid. Tijdens de eerste implementatie downloadt en installeert de client de 35 GB inference engine op het apparaat. Gebruikers kunnen de downloadvoortgang volgen door op het downloadicoon in de rechterbovenhoek van de Client-interface te klikken. Zodra dit is voltooid, start de job automatisch.
Als het model nog niet eerder is gedownload, downloadt en bouwt Cordatus het model, verbindt het de camera's en start het het inference-proces. Wanneer een job voor het eerst wordt gestart, kunnen het bouwen en downloaden van het model enige tijd in beslag nemen, afhankelijk van het apparaat en de internetsnelheid. Daarna wordt een gebouwd en gedownload model niet opnieuw gebouwd.
NOTE: Een nieuwe job kan alleen worden gestart vanuit de Web App. U kunt een job echter wel herstarten, stoppen of verwijderen vanuit de Client.
Streampagina
Op de streampagina kunt u uw inference-videobeelden in real time bekijken. Acties die u op deze pagina kunt uitvoeren:
- Metrics-icoon (rechtsboven): Bekijk apparaatmetrics voor de inference-job
- Detection Results-schakelaar (midden): Zet de weergave van inference-resultaten aan/uit
- View Mode (rechtsonder): Schakel tussen picture-in-picture en volledig scherm
- Pause/Play-icoon (linksonder): Stop of vervolg de video
- All Detections (onderste balk): Bekijk de tijdsperiodes waarin Cordatus objecten heeft gedetecteerd
Een job bekijken
Streamdetails
U kunt meer details over de stream bekijken door op het grafiekicoon in de rechterbovenhoek van het scherm te klikken. In het geopende paneel kunt u het volgende controleren:
- Framerate (FPS)
- Bitrate
- Bandbreedte
- Resolutie
Streamdetails
Een job stoppen
U kunt een job stoppen door in de Web App op de knop Stop onder de kolom Actions te klikken. Cordatus stopt de job, maar verwijdert de job en de bijbehorende gegevens niet. Zo kunt u de job later opnieuw starten.
Een job stoppen
U kunt een job ook stoppen door op de stopknop in de Client te klikken.
Een job stoppen op de Client
Een job herstarten
U kunt een job starten in de status Stopped of Error. Zie de sectie Job Status Codes voor meer informatie over statuscodes van jobs.
Een job herstarten in de Web App
Klik op de knop Run onder de kolom Actions.
Een job herstarten
Een job herstarten in de Client
Klik op de knop Run onder de kolom Actions.
Een job herstarten op de Client
Een job verwijderen
U kunt een job verwijderen door op de knop Delete onder de kolom Actions te klikken.
Een job verwijderen
U kunt de job ook verwijderen op de Client door op de knop Delete onder de kolom Actions in de jobrij te klikken.
Een job verwijderen op de Client
WARNING: Deze actie verwijdert de job en alle bijbehorende inference-analysegegevens permanent van het clientapparaat. Deze actie kan niet ongedaan worden gemaakt zodra deze is uitgevoerd. Het verwijderen van de job heeft geen invloed op het geïmplementeerde model of de pipeline.
Statuscodes van jobs
Cordatus kent gedurende hun levenscyclus verschillende statussen toe aan jobs. Deze statuscodes geven informatie over of de job naar verwachting draait. Statuscodes worden weergegeven in de eerste kolom van de jobrij, met het label "Status".
| Status | Beschrijving |
|---|---|
| Downloading Model | Het model wordt naar het apparaat gedownload. Komt voor tijdens de eerste implementatie. |
| Building | Komt alleen voor bij de eerste keer starten van het model. De inference engine bouwt het model of de pipeline. |
| Preparing Engine | De pipeline wordt opgezet en de engine wordt gestart. |
| Warming Up | De engine is gereed, de pipeline wordt voorbereid en verbonden met de camera's. |
| Running | De job draait zoals verwacht. |
| Stopped | De gebruiker heeft de job handmatig gestopt. |
| Error | Er is een fout opgetreden tijdens de uitvoering van de job. Zie de sectie troubleshooting voor mogelijke problemen. |
Statuscodes
Pipeline Profiler
Elke actieve job wordt geleverd met een geïntegreerde Pipeline Profiler die voortdurend de gezondheid en prestaties van de DeepStream-pipeline meet. Deze koppelt lichte probes aan elke belangrijke fase van de pipeline (batchvorming, inference, tracker, OSD, framecapture, sink, …) en rapporteert latentie per fase, batchbenutting, doorvoer per bron, framedropratio en de status van actieve camera's.
De profiler is standaard ingeschakeld en vernieuwt zijn metrics elke 2 seconden, zodat deze kan worden gebruikt voor live probleemoplossing zonder dat de job opnieuw moet worden gestart.
NOTE: De profiler is bewust lichtgewicht gehouden en meet alleen de kloktijd op bestaande GStreamer-pads — hij introduceert geen extra GPU-belasting en heeft geen meetbaar effect op de inference-doorvoer.
Toegang tot de profiler
De profiler wordt door de inference engine beschikbaar gesteld via de lokale API van de job. Het interactieve dashboard is de aanbevolen manier om een actieve job te inspecteren.
| Endpoint | Type | Beschrijving |
|---|---|---|
/dashboard | HTML | Interactief webdashboard met KPI's, grafieken, tegels per bron en een cameratijdlijn. |
/profiler/json | JSON | Gestructureerde momentopname van de profiler (gebruikt door het dashboard, ook nuttig voor scripting). |
/profiler | Platte tekst | Leesbaar tekstrapport — handig voor snelle inspectie met curl of het vastleggen van logs. |
U kunt het dashboard openen door direct naar de /dashboard-URL van de engine te navigeren op het apparaat waarop de job draait, of door het te openen vanuit het contextmenu van de job in de Client.
PLACEHOLDER (image): Schermafbeelding van het Client-menu/de knop die wordt gebruikt om het profilerdashboard voor een actieve job te openen (bijv. de entry
dashboard_menu.png).
Overzicht van het dashboard
Het dashboard is verdeeld in vier gebieden: een jobinfobalk, KPI-kaarten, tijdreeksgrafieken en gedetailleerde tabellen.

Jobinfobalk
De bovenste balk geeft aan welke job de profiler momenteel observeert. Deze bevat de Job Name, Child Job ID, Parent Job ID, Device Label, Platform en de gebruikte DeepStream-versie. Gebruik dit om te bevestigen dat u naar de juiste job kijkt, vooral wanneer er meerdere jobs op hetzelfde apparaat draaien.
KPI-kaarten
De KPI-rij biedt in één oogopslag een samenvatting van de huidige gezondheid van de pipeline:
| KPI | Beschrijving |
|---|---|
| FPS In | Aantal frames per seconde dat de inference-batch binnenkomt (som over alle bronnen). |
| FPS Out | Aantal frames per seconde dat de pipeline verlaat bij de laatste capturefase. |
| Frame Drop | Percentage frames dat verloren gaat tussen de invoer- en uitvoerfase van de pipeline. |
| Active Sources | Aantal bronnen dat in het huidige meetvenster ten minste één frame heeft geleverd. |
| Window | Lengte (in seconden) van het huidige meetvenster. Tellers worden gereset aan het einde van elk venster. |

Geschiedenis van de doorvoer
Een live grafiek plot FPS In en FPS Out in de tijd. Een blijvende kloof tussen de twee lijnen duidt erop dat er ergens in de pipeline frames verloren gaan — meestal een teken van een overbelaste GPU of een trage downstream-fase.

Tijdlijn van camerastatus
Elke geregistreerde camera wordt weergegeven als een eigen rij in de tijdlijn, met kleurcodering op basis van status (PLAYING, PENDING, FAILED, DEAD, …), zodat u onmiddellijk sporadische verbindingsonderbrekingen, herhaalde retry-pogingen of bronnen die nooit online zijn gekomen kunt herkennen. Het paneel is scrollbaar en aanpasbaar in grootte om jobs met veel camera's te ondersteunen.

Gedetailleerde tabellen
Onder de grafieken toont het dashboard de onderliggende ruwe metrics:
Latenties per fase
Voor elke geprobeerde fase van de pipeline (bijv. mux_infer_src, infer_chain_out, gie_*_out, tracker_out, osd_probe, frame_capture, …) rapporteert de profiler:
- Gemiddelde/Std/Min/Max-aankomsttijd tussen buffers in milliseconden
- Aantal verwerkte batches en frames
- Gemiddelde batchgrootte
Gebruik deze tabel om te bepalen welke fase het meest bijdraagt aan de totale latentie. Een piek in de gemiddelde latentie van gie_*_out wijst bijvoorbeeld op de inference engine zelf, terwijl een piek in frame_capture doorgaans op de encoder/sink wijst.

Doorvoer per bron
Elke bron wordt afzonderlijk vermeld met het aantal frames, de huidige FPS en de gemiddelde/min/max aankomsttijd tussen frames in milliseconden. Deze weergave is bijzonder nuttig wanneer één specifieke camera de gehele pipeline vertraagt.
Overhead van probe-uitvoering
Cordatus verpakt zijn eigen pad-probes (metadata-extractie, alarmevaluatie, OSD-tekening, framecapture, …) zodat de profiler kan meten hoeveel CPU-tijd elke callback verbruikt. De tabel toont de gemiddelde/std/min/max-uitvoeringstijd per aanroep, het totale aantal aanroepen en de totale kloktijd die in de callback is doorgebracht. Als een aangepaste probe de pipeline vertraagt, komt dit hier naar voren.

Actieve camera's
Een gedetailleerd overzicht van elke geregistreerde bron: bron-ID, naam, GStreamer-status, timeout-/max-timeout-teller, drop-/max-retry-teller, retry-interval en de bron-URL. Camera's die in het huidige venster een frame hebben ontvangen, worden als actief gemarkeerd. Dit is de meest nuttige tabel bij het diagnosticeren van uitgevallen of opnieuw verbindende camera's.
