Есть у меня свой такой айтем, который раз в час делает запрос к базе постгреса и возвращает нужную мне инфу, которую я успешно вижу в latest data в таком вот формате:
И есть в конце запроса важный для меня "average_time":2864 в мс, и вот как бы мне настроить триггер чтобы он мне в дашборд генерил проблему что у "queryid":28159 4143 "average_time": > 3000?
Куда копнуть что почитать?
Code:
{"userid":"16384","dbid":"1848551","queryid":28159 4143,"query":"SELECT DISTINCT doc.*,\r\n\t\t substring(doc.\"MEDO_DETAIL\" FROM 'POSTALADDRESS=(.*?)\\|') as \"MEDO_ADDRESS\", \r\n\t\t medo_country.name as \"MEDO_COUNTRY\", \r\n\t\t doc_movement.\"PPID\" as \"DOCMOVEMENT_PPID\",\r\n\t\t country.name AS \"COUNTRY\" ,\r\n\t\t citizen.firstname AS \"FIRSTNAME\" ,\r\n\t\t citizen.midname AS \"MIDNAME\" ,\r\n\t\t citizen.lastname AS \"LASTNAME\" ,\r\n\t\t pp_address.\"address\" AS \"ADDRESS\" ,\r\n\t\t ship.name AS \"CITIZENSHIP_NAME\" ,\r\n\t\t files.\"filename\" AS \"ATTACH_COUNT\" ,\r\n\t\t correspondence.name AS \"CORRESPONDENCE_NAME\" ,\r\n\t\t ppdv.name AS \"NAME_DICTIONARY\" ,\r\n\t\t pap.\"PPID\" AS \"PPID_APPELANT\" \r\n FROM ( \r\n SELECT \"PPID\", \"PPID_question\", \"PPID_appelant\", \"MEDO_detail\" as \"MEDO_DETAIL\", \"regnum\" as \"REGNUM\" , \"docnum_proxy_correspondence\" as \"DOCNUM_PROXY_CORRESPONDENCE\" , \"PPID_recordbook\" as \"PPID_RECORDBOOK\" , \"citizen_fullname\" as \"CITIZEN_FULLNAME\", \"dt_doc\" as \"DT_DOC\", \"PPID_delivery\" \r\n FROM \"PA.Appeal\".\"DocAppeal\" \r\n WHERE 1=1 \r\n AND \"PPID_delivery\" = 5079978 ) as doc \r\n LEFT JOIN \"PP\".\"PPGeo\" as medo_country ON medo_country.\"PPID\"::text = substring(doc.\"MEDO_DETAIL\" FROM 'PPID_COUNTRY=(.*?)\\|')\r\n LEFT JOIN \"PA.Appeal\".\"DocInstance\" AS doc_instance ON doc_instance.\"PPID_doc\" = doc.\"PPID\" \r\n\r\n LEFT JOIN \"PA.Appeal\".\"DocMovement\" AS doc_movement ON doc_movement.\"PPID_instance\" = doc_instance.\"PPID\" \r\n LEFT JOIN \"PA.Appeal\".\"Correspondence\" AS correspondence ON correspondence.\"PPID\" = doc_movement.\"PPID_correspondence\" \r\n LEFT JOIN \"PA.Appeal\".\"Citizen\" AS citizen ON citizen.\"PPID\" = doc.\"PPID_appelant\" \r\n LEFT JOIN \"PA.Appeal\".\"Citizenship\" AS ship ON ship.\"PPID\" = citizen.\"PPID_citizenship\" \r\n LEFT JOIN \"PP\".\"PPAddress\" AS pp_address ON pp_address.\"PPID\" = \r\n (SELECT link.\"PPID_dst\" FROM \"PP\".\"PPLink\" AS link \r\n\r\n WHERE \"PPID_src\" = doc.\"PPID_appelant\" AND link.type = 'ADDRESS' ORDER BY \"id\" DESC LIMIT 1 )\r\n LEFT JOIN \"PP\".\"PPGeo\" as country ON country.\"PPID\" = citizen.\"PPID_country\" \r\n LEFT JOIN \"PP\".\"PPFile\" AS files ON files.\"PPID\" = \r\n (SELECT \"PPID_dst\" FROM \"PP\".\"PPLink\" AS link WHERE link.\"PPID_src\" = doc.\"PPID\" AND type = 'DocAppeal_attach' ORDER BY link.id LIMIT 1 )\r\n LEFT JOIN \"PP\".\"PPDictionaryValue\" AS ppdv ON ppdv.\"PPID\" = doc.\"PPID_delivery\"\r\n LEFT JOIN \"PA.Appeal\".\"PersonalArea\" AS pap ON pap.\"PPID_appelant\" = citizen.\"PPID\" ORDER BY \"DT_DOC\" DESC, \"REGNUM\" DESC","calls":11,"total_time":31506,"total_rows":1 86598,"average_time":2864} }
Куда копнуть что почитать?
Comment