monitoring radioactivity around nuclear facilities Doel, Tihange, Chooz, Borssele --

Server

Die für die Archivierung der Messdaten, für ihre Verarbeitung und für die Website erforderlichen Ressourcen werden bei einem professionellen Internetservice-Provider auf einem für das FIfF e.V. betriebenen Rootserver gehostet.

Die Messdaten der Sensorstationen laufen in diesem Server zusammen. Kern des Servers ist eine MySQL-Datenbank, die die einlaufenden Daten archiviert und sowohl für die Darstellung auf unseren Webseiten als auch für eine retrospektive Evaluation bereitstellt. Die Datenbank ist durch ein ReST-API gekapselt. Die ReST-Schnittstelle ermöglicht es, die Sensordaten als HTTPS-Pakete über die standardmäßig offenen Ports der Router Ende-zu-Ende-verschlüsselt zu übertragen. Ebenso holt sich die Website die für die anwenderseitigen Darstellungen benötigten Daten über die ReST-Schnittstelle aus der Datenbank.

Der Server überwacht die Funktion aller Sensorstationen und informiert per Email automatisch den Administrator und den Betreiber über Änderungen des Betriebszustandes.

Übertragung der Messdaten von den Sensorstationen zum Server

Die Sensorstation produziert im Minutentakt aktuelle Messwerte. Am Aufstellungsort ist sie via Datenkabel an den lokalen Router des Betreibers angeschlossen. Jede Minute übergibt die Sensorstation dem Router ein verschlüsseltes Datenpaket aus aktuellem Messwert, Zeitstempel und Stations-ID. Der Router leitet die Datenpaket über das Internet an den Server. Aus Sicherheitsgründen können Sensorstationen nicht von außen angesprochen werden.

DSC00844sAn Standorten ohne Internetanschluss können wir Funkverbindungen auf LoRaWAN-Basis einsetzen. Die Kommunikationstechnologie LoRaWAN wurde für IoT-Anwendungen geschaffen. Sie ermöglicht eine Datenübertragung im 868 MHz-Band mit niedriger Datenrate über Entfernungen bis ca. 10 km (unter optimalen Bedingungen). Mit dieser Technologie baut die TTN-Community – TTN steht für „The Things Network“ – offene Netze aus Gateways zum Internet auf, die wir für die weitere Übertragung unserer Messwerte zu unserem Server nutzen. Hardware und Software für diese Erweiterung der TDRM-Sensorstation wurden von einer Arbeitsgruppe an der Karel-de-Grote Hogeschool, Campus Hoboken, Antwerpen entwickelt. #TTN

Lokale Website

Innerhalb des lokalen Netzes, in dem die Sensorstation betrieben wird, können die aktuellen und zurückliegenden Messwerte dieser Sensorstation lokal abgerufen werden, siehe Screenshots unten. Die Software der Sensorstationen umfasst auch einen lokalen Webserver, dessen Seiten mit Browsern von Computern, die an das selbe lokale Netz angeschlossen sind, angewählt werden können. #local

PiGI 4a

Quelle: Openresource-Projekt PiGI

Die Startseite der Sensorstation wird mit ihrer lokalen URL oder mit ihrer IP-Adresse aufgerufen:

  • Die lokale URL einer Sensorstation ist http://tdrmNN (ggf. auch http://tdrmNN.local, http://tdrmNN.lan oder http://tdrmNN.fritz.box). NN steht für die Identifikationsnummer der jeweiligen Sensorstation.
  • Leider lösen nur wenige Router-Fabrikate die Namen der angeschossenen Geräte auf. Ist dies nicht der Fall, kann die Startseite mit der Eingabe der IP-Adresse aufgerufen werden. Die der Sensorstation vom Router zugeteilte IP-Adresse (z.B. 192.168.1.234) kann auf den Administrationsseiten des Routers in der Liste 'verbundene Geräte' gefunden werden.

Die Meldung "Websocket Error" kann ignoriert werden!

Settings4.009MBMemory Usage62.28msRequest Duration
Theme
Open Button Position
Hide Empty Tabs
Autoshow
Reset to defaults
Joomla! Version5.3.0
PHP Version8.2.22
Identityguest
Response200
Templatecassiopeia_tdrm
Database
Server
mysql
Version
10.11.8-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:45 [ "SCRIPT_URL" => "/index.php/de/technik-de/infrastruktur-de" "SCRIPT_URI" => "https://...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1744936775 "last" => 1744936775...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
plg_system_languagefilter
array:1 [ "language" => "de-DE" ]
plg_system_webauthn
array:1 [ "returnUrl" => "https://tdrm.fiff.de/index.php/de/technik-de/infrastruktur-de" ]
  • afterLoad (85.97KB) (465μs)
  • afterInitialise (1.42MB) (12.13ms)
  • afterRoute (230.7KB) (2.31ms)
  • beforeRenderComponent com_content (124.94KB) (999μs)
  • Before Access::preloadComponents (all components) (40.63KB) (709μs)
  • After Access::preloadComponents (all components) (120.96KB) (733μs)
  • Before Access::preloadPermissions (com_content) (1.54KB) (16μs)
  • After Access::preloadPermissions (com_content) (103.13KB) (789μs)
  • Before Access::getAssetRules (id:139 name:com_content.article.18) (6.65KB) (19μs)
  • After Access::getAssetRules (id:139 name:com_content.article.18) (8.3KB) (68μs)
  • beforeRenderRawModule mod_login (Login Form) (482.13KB) (13.71ms)
  • afterRenderRawModule mod_login (Login Form) (350.84KB) (4.42ms)
  • beforeRenderModule mod_login (Login Form) (720B) (9μs)
  • afterRenderModule mod_login (Login Form) (7.26KB) (148μs)
  • afterRenderComponent com_content (27.84KB) (22μs)
  • Before Access::getAssetRules (id:8 name:com_content) (50.96KB) (2.62ms)
  • After Access::getAssetRules (id:8 name:com_content) (1.28KB) (13μs)
  • afterDispatch (79.88KB) (3.14ms)
  • beforeRenderRawModule mod_menu (Main Menu de) (36.25KB) (554μs)
  • afterRenderRawModule mod_menu (Main Menu de) (173.95KB) (1.98ms)
  • beforeRenderRawModule mod_menu (Main Menu en) (720B) (28μs)
  • afterRenderRawModule mod_menu (Main Menu en) (16.86KB) (105μs)
  • beforeRenderRawModule mod_menu (Main Menu fr) (720B) (23μs)
  • afterRenderRawModule mod_menu (Main Menu fr) (912B) (93μs)
  • beforeRenderRawModule mod_menu (Main Menu nl) (720B) (22μs)
  • afterRenderRawModule mod_menu (Main Menu nl) (912B) (91μs)
  • beforeRenderRawModule mod_languages (Sprachauswahl ) (944B) (33μs)
  • afterRenderRawModule mod_languages (Sprachauswahl ) (15.02KB) (1.16ms)
  • beforeRenderRawModule mod_custom (Fuss) (560B) (54μs)
  • afterRenderRawModule mod_custom (Fuss) (4.05KB) (207μs)
  • beforeRenderRawModule mod_menu (Foot Menu) (2.48KB) (35μs)
  • afterRenderRawModule mod_menu (Foot Menu) (1.19KB) (96μs)
  • beforeRenderRawModule mod_menu (Foot Menu (de)) (688B) (22μs)
  • afterRenderRawModule mod_menu (Foot Menu (de)) (33.63KB) (562μs)
  • beforeRenderRawModule mod_menu (Foot Menu (en)) (720B) (26μs)
  • afterRenderRawModule mod_menu (Foot Menu (en)) (880B) (93μs)
  • beforeRenderRawModule mod_menu (Foot Menu (fr)) (720B) (23μs)
  • afterRenderRawModule mod_menu (Foot Menu (fr)) (912B) (87μs)
  • beforeRenderRawModule mod_gkstand (gkstand) (2.45KB) (24μs)
  • afterRenderRawModule mod_gkstand (gkstand) (4.63KB) (255μs)
  • beforeRenderModule mod_gkstand (gkstand) (1.33KB) (206μs)
  • afterRenderModule mod_gkstand (gkstand) (2.41KB) (82μs)
  • beforeRenderModule mod_menu (Foot Menu) (2.79KB) (180μs)
  • afterRenderModule mod_menu (Foot Menu) (2.98KB) (86μs)
  • beforeRenderModule mod_menu (Foot Menu (de)) (952B) (24μs)
  • afterRenderModule mod_menu (Foot Menu (de)) (2.94KB) (64μs)
  • beforeRenderModule mod_menu (Foot Menu (en)) (864B) (23μs)
  • afterRenderModule mod_menu (Foot Menu (en)) (1.76KB) (62μs)
  • beforeRenderModule mod_menu (Foot Menu (fr)) (168B) (21μs)
  • afterRenderModule mod_menu (Foot Menu (fr)) (1.76KB) (60μs)
  • beforeRenderModule mod_custom (Fuss) (1.47KB) (311μs)
  • afterRenderModule mod_custom (Fuss) (3.41KB) (80μs)
  • beforeRenderModule mod_languages (Sprachauswahl ) (112B) (286μs)
  • afterRenderModule mod_languages (Sprachauswahl ) (6.11KB) (76μs)
  • beforeRenderModule mod_menu (Main Menu de) (680B) (455μs)
  • afterRenderModule mod_menu (Main Menu de) (6.34KB) (70μs)
  • beforeRenderModule mod_menu (Main Menu en) (864B) (23μs)
  • afterRenderModule mod_menu (Main Menu en) (1.76KB) (61μs)
  • beforeRenderModule mod_menu (Main Menu fr) (168B) (22μs)
  • afterRenderModule mod_menu (Main Menu fr) (1.76KB) (59μs)
  • beforeRenderModule mod_menu (Main Menu nl) (168B) (22μs)
  • afterRenderModule mod_menu (Main Menu nl) (1.76KB) (59μs)
  • afterRender (183.94KB) (11.66ms)
  • 1 x beforeRenderRawModule mod_login (Login Form) (482.13KB) (22.01%)
    13.71ms
    1 x afterInitialise (1.42MB) (19.47%)
    12.13ms
    1 x afterRender (183.94KB) (18.73%)
    11.66ms
    1 x afterRenderRawModule mod_login (Login Form) (350.84KB) (7.1%)
    4.42ms
    1 x afterDispatch (79.88KB) (5.05%)
    3.14ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (50.96KB) (4.21%)
    2.62ms
    1 x afterRoute (230.7KB) (3.71%)
    2.31ms
    1 x afterRenderRawModule mod_menu (Main Menu de) (173.95KB) (3.17%)
    1.98ms
    1 x afterRenderRawModule mod_languages (Sprachauswahl ) (15.02KB) (1.86%)
    1.16ms
    1 x beforeRenderComponent com_content (124.94KB) (1.6%)
    999μs
    1 x After Access::preloadPermissions (com_content) (103.13KB) (1.27%)
    789μs
    1 x After Access::preloadComponents (all components) (120.96KB) (1.18%)
    733μs
    1 x Before Access::preloadComponents (all components) (40.63KB) (1.14%)
    709μs
    1 x afterRenderRawModule mod_menu (Foot Menu (de)) (33.63KB) (0.9%)
    562μs
    1 x beforeRenderRawModule mod_menu (Main Menu de) (36.25KB) (0.89%)
    554μs
    1 x afterLoad (85.97KB) (0.75%)
    465μs
    1 x beforeRenderModule mod_menu (Main Menu de) (680B) (0.73%)
    455μs
    1 x beforeRenderModule mod_custom (Fuss) (1.47KB) (0.5%)
    311μs
    1 x beforeRenderModule mod_languages (Sprachauswahl ) (112B) (0.46%)
    286μs
    1 x afterRenderRawModule mod_gkstand (gkstand) (4.63KB) (0.41%)
    255μs
    1 x afterRenderRawModule mod_custom (Fuss) (4.05KB) (0.33%)
    207μs
    1 x beforeRenderModule mod_gkstand (gkstand) (1.33KB) (0.33%)
    206μs
    1 x beforeRenderModule mod_menu (Foot Menu) (2.79KB) (0.29%)
    180μs
    1 x afterRenderModule mod_login (Login Form) (7.26KB) (0.24%)
    148μs
    1 x afterRenderRawModule mod_menu (Main Menu en) (16.86KB) (0.17%)
    105μs
    1 x afterRenderRawModule mod_menu (Foot Menu) (1.19KB) (0.15%)
    96μs
    1 x afterRenderRawModule mod_menu (Main Menu fr) (912B) (0.15%)
    93μs
    1 x afterRenderRawModule mod_menu (Foot Menu (en)) (880B) (0.15%)
    93μs
    1 x afterRenderRawModule mod_menu (Main Menu nl) (912B) (0.15%)
    91μs
    1 x afterRenderRawModule mod_menu (Foot Menu (fr)) (912B) (0.14%)
    87μs
    1 x afterRenderModule mod_menu (Foot Menu) (2.98KB) (0.14%)
    86μs
    1 x afterRenderModule mod_gkstand (gkstand) (2.41KB) (0.13%)
    82μs
    1 x afterRenderModule mod_custom (Fuss) (3.41KB) (0.13%)
    80μs
    1 x afterRenderModule mod_languages (Sprachauswahl ) (6.11KB) (0.12%)
    76μs
    1 x afterRenderModule mod_menu (Main Menu de) (6.34KB) (0.11%)
    70μs
    1 x After Access::getAssetRules (id:139 name:com_content.article.18) (8.3KB) (0.11%)
    68μs
    1 x afterRenderModule mod_menu (Foot Menu (de)) (2.94KB) (0.1%)
    64μs
    1 x afterRenderModule mod_menu (Foot Menu (en)) (1.76KB) (0.1%)
    62μs
    1 x afterRenderModule mod_menu (Main Menu en) (1.76KB) (0.1%)
    61μs
    1 x afterRenderModule mod_menu (Foot Menu (fr)) (1.76KB) (0.1%)
    60μs
    1 x afterRenderModule mod_menu (Main Menu nl) (1.76KB) (0.09%)
    59μs
    1 x afterRenderModule mod_menu (Main Menu fr) (1.76KB) (0.09%)
    59μs
    1 x beforeRenderRawModule mod_custom (Fuss) (560B) (0.09%)
    54μs
    1 x beforeRenderRawModule mod_menu (Foot Menu) (2.48KB) (0.06%)
    35μs
    1 x beforeRenderRawModule mod_languages (Sprachauswahl ) (944B) (0.05%)
    33μs
    1 x beforeRenderRawModule mod_menu (Main Menu en) (720B) (0.05%)
    28μs
    1 x beforeRenderRawModule mod_menu (Foot Menu (en)) (720B) (0.04%)
    26μs
    1 x beforeRenderRawModule mod_gkstand (gkstand) (2.45KB) (0.04%)
    24μs
    1 x beforeRenderModule mod_menu (Foot Menu (de)) (952B) (0.04%)
    24μs
    1 x beforeRenderRawModule mod_menu (Foot Menu (fr)) (720B) (0.04%)
    23μs
    1 x beforeRenderModule mod_menu (Foot Menu (en)) (864B) (0.04%)
    23μs
    1 x beforeRenderRawModule mod_menu (Main Menu fr) (720B) (0.04%)
    23μs
    1 x beforeRenderModule mod_menu (Main Menu en) (864B) (0.04%)
    23μs
    1 x beforeRenderRawModule mod_menu (Foot Menu (de)) (688B) (0.04%)
    22μs
    1 x beforeRenderModule mod_menu (Main Menu fr) (168B) (0.04%)
    22μs
    1 x afterRenderComponent com_content (27.84KB) (0.04%)
    22μs
    1 x beforeRenderRawModule mod_menu (Main Menu nl) (720B) (0.04%)
    22μs
    1 x beforeRenderModule mod_menu (Main Menu nl) (168B) (0.04%)
    22μs
    1 x beforeRenderModule mod_menu (Foot Menu (fr)) (168B) (0.03%)
    21μs
    1 x Before Access::getAssetRules (id:139 name:com_content.article.18) (6.65KB) (0.03%)
    19μs
    1 x Before Access::preloadPermissions (com_content) (1.54KB) (0.03%)
    16μs
    1 x After Access::getAssetRules (id:8 name:com_content) (1.28KB) (0.02%)
    13μs
    1 x beforeRenderModule mod_login (Login Form) (720B) (0.01%)
    9μs
36 statements were executed, 6 of which were duplicates, 30 unique10.76ms206.81KB
  • SELECT @@SESSION.sql_mode;63μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:259Copy
  • SELECT `data` FROM `tdrm_session` WHERE `session_id` = ?116μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:250Copy
  • SELECT `session_id` FROM `tdrm_session` WHERE `session_id` = :session_id LIMIT 175μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `tdrm_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)542μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `tdrm_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1218μs1.61KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `tdrm_viewlevels`81μs656B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `tdrm_usergroups` AS `a` LEFT JOIN `tdrm_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest110μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `tdrm_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`549μs3.98KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • SELECT * FROM `tdrm_languages` WHERE `published` = 1 ORDER BY `ordering` ASC179μs2.27KB/libraries/src/Language/LanguageHelper.php:179Copy
  • SELECT `element`,`name`,`client_id`,`extension_id` FROM `tdrm_extensions` WHERE `type` = 'language' AND `state` = 0 AND `enabled` = 1171μs880B/libraries/src/Language/LanguageHelper.php:252Copy
  • SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component` FROM `tdrm_menu` AS `m` LEFT JOIN `tdrm_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE ( (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2) ORDER BY `m`.`lft`743μs84.8KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `tdrm_template_styles` AS `s` LEFT JOIN `tdrm_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 1185μs848B/administrator/components/com_templates/src/Model/StyleModel.php:718Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `tdrm_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)384μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `tdrm_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0368μs5.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `tdrm_content`486μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:539Copy
  • UPDATE `tdrm_content` SET `hits` = (`hits` + 1) WHERE `id` = '18'340μs48B/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `tdrm_content` AS `a` INNER JOIN `tdrm_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `tdrm_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `tdrm_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `tdrm_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `tdrm_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0 AND `a`.`language` IN (:preparedArray1,:preparedArray2)) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray3,:preparedArray4)299μs23.44KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tdrm_categories` AS `s` INNER JOIN `tdrm_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray3,:preparedArray4)) OR (`c`.`lft` <= `s`.`lft` AND `s`.`rgt` <= `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`387μs3.98KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `tdrm_contentitem_tag_map` AS `m` INNER JOIN `tdrm_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)197μs3.97KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tdrm_categories` AS `s` INNER JOIN `tdrm_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray3,:preparedArray4)) OR (`c`.`lft` <= `s`.`lft` AND `s`.`rgt` <= `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`384μs3.98KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM tdrm_fields AS a LEFT JOIN `tdrm_languages` AS l ON l.lang_code = a.language LEFT JOIN tdrm_users AS uc ON uc.id=a.checked_out LEFT JOIN tdrm_viewlevels AS ag ON ag.id = a.access LEFT JOIN tdrm_users AS ua ON ua.id = a.created_user_id LEFT JOIN tdrm_fields_groups AS g ON g.id = a.group_id LEFT JOIN `tdrm_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform AND `a`.`language` IN (:preparedArray8,:preparedArray9) ORDER BY a.ordering ASC752μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`catid`,`a`.`language`, CASE WHEN CHAR_LENGTH(`a`.`alias`) != 0 THEN CONCAT_WS(':', `a`.`id`, `a`.`alias`) ELSE a.id END AS `slug`, CASE WHEN CHAR_LENGTH(`cc`.`alias`) != 0 THEN CONCAT_WS(':', `cc`.`id`, `cc`.`alias`) ELSE cc.id END AS `catslug` FROM `tdrm_content` AS `a` LEFT JOIN `tdrm_categories` AS `cc` ON `cc`.`id` = `a`.`catid` WHERE `a`.`catid` = :catid AND `a`.`state` = :state AND `a`.`access` IN (:preparedArray1,:preparedArray2) AND (`publish_up` IS NULL OR `publish_up` <= :nowDate1) AND (`publish_down` IS NULL OR `publish_down` >= :nowDate2) AND `a`.`language` IN (:preparedArray3,:preparedArray4) ORDER BY CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END DESC261μs1.77KBParams/plugins/content/pagenavigation/src/Extension/PageNavigation.php:205Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `tdrm_modules` AS `m` LEFT JOIN `tdrm_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `tdrm_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) AND `m`.`language` IN (:preparedArray3,:preparedArray4) ORDER BY `m`.`position`,`m`.`ordering`878μs2.16KBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT `alias`,`catid` FROM tdrm_content WHERE `id` = :key111μs1.37KBParams/libraries/src/Component/Router/Rules/PreprocessRules.php:123Copy
  • SELECT `language`,`id` FROM `tdrm_menu` WHERE `home` = '1' AND `published` = 1 AND `client_id` = 0199μs656B/libraries/src/Language/Multilanguage.php:123Copy
  • SELECT `alias`,`catid` FROM tdrm_content WHERE `id` = :key92μs1.37KBParams/libraries/src/Component/Router/Rules/PreprocessRules.php:123Copy
  • SELECT `c2`.`language`,`c2`.`id` FROM `tdrm_menu` AS `c` INNER JOIN `tdrm_associations` AS `a` ON `a`.`id` = `c`.`id` AND `a`.`context` = :context INNER JOIN `tdrm_associations` AS `a2` ON `a`.`key` = `a2`.`key` INNER JOIN `tdrm_menu` AS `c2` ON `a2`.`id` = `c2`.`id` WHERE `c`.`id` = :id177μs1.44KBParams/libraries/src/Language/Associations.php:145Copy
  • SELECT `c2`.`language`,CONCAT_WS(':', `c2`.`id`, `c2`.`alias`) AS `id`,CONCAT_WS(':', `ca`.`id`, `ca`.`alias`) AS `catid` FROM `tdrm_content` AS `c` INNER JOIN `tdrm_associations` AS `a` ON `a`.`id` = `c`.`id` AND `a`.`context` = :context INNER JOIN `tdrm_associations` AS `a2` ON `a`.`key` = `a2`.`key` INNER JOIN `tdrm_content` AS `c2` ON `a2`.`id` = `c2`.`id` INNER JOIN `tdrm_categories` AS `ca` ON `c2`.`catid` = `ca`.`id` AND `ca`.`extension` = :extension2 WHERE `c`.`id` = :id AND c2.access IN (1,5) AND c2.language != 'de-DE' AND (c2.publish_up IS NULL OR c2.publish_up <= '2025-04-18 00:39:35') AND (c2.publish_down IS NULL OR c2.publish_down >= '2025-04-18 00:39:35') AND c2.state = 1287μs1.52KBParams/libraries/src/Language/Associations.php:145Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tdrm_categories` AS `s` INNER JOIN `tdrm_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray3,:preparedArray4)) OR (`c`.`lft` <= `s`.`lft` AND `s`.`rgt` <= `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`383μs3.98KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tdrm_categories` AS `s` INNER JOIN `tdrm_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray3,:preparedArray4)) OR (`c`.`lft` <= `s`.`lft` AND `s`.`rgt` <= `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`359μs3.98KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tdrm_categories` AS `s` INNER JOIN `tdrm_categories` AS `c` ON (`s`.`lft` < `c`.`lft` AND `c`.`lft` < `s`.`rgt` AND `c`.`language` IN (:preparedArray3,:preparedArray4)) OR (`c`.`lft` <= `s`.`lft` AND `s`.`rgt` <= `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`355μs3.98KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT * FROM `tdrm_schemaorg` WHERE `itemId` = :itemId AND `context` = :context135μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:406Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `tdrm_content` AS `a` INNER JOIN `tdrm_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `tdrm_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `tdrm_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `tdrm_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `tdrm_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0 AND `a`.`language` IN (:preparedArray1,:preparedArray2)) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray3,:preparedArray4)310μs24.73KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `tdrm_scheduler_tasks` AS `a` WHERE `a`.`state` = 1122μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `tdrm_session` WHERE `session_id` = ?102μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:277Copy
  • UPDATE `tdrm_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?364μs592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:301Copy