| RT | Created | Time in Triage | Client | Subject |
|---|---|---|---|---|
| 53457 | 13 Jan, 13:31 | 0h 07m | Geograph | Adding new docker container to our gitops+k8s cluster. |
| 53849 | 11 Feb, 22:52 | 0h 06m | Internal | Password Notifications for tiger-computing.co.uk - Take Action Now |
| 53851 | 12 Feb, 08:31 | 0h 01m | Internal | CRITICAL: Backups: Borgmatic on woodlands.midnighthax.com |
| 53852 | 12 Feb, 11:01 | 0h 16m | None | We’ll get you 30-250 leads… or it’s FREE |
| 53853 | 12 Feb, 11:25 | 0h 04m | OpenCorporates | Graphite - Clear out of metrics |
| 53860 | 12 Feb, 14:23 | 0h 01m | ITC Compliance | Credential update |
| 53861 | 12 Feb, 15:32 | 0h 02m | DLS Plastics | DOWN: dlskvm2.dlsmedical.internal |
| 53863 | 12 Feb, 20:32 | 0 | AskBio | CRITICAL: NRPE Disk: /home on talisker.synpromics.com |
git hash: master (9cdcf9a5)
Current Site Packages Directory:
/app/.venv/lib/python3.14/site-packages
| Package | Version | Homepage | Summary |
|---|---|---|---|
| alchemical | 1.0.3 | None | Modern SQLAlchemy simplified |
| alembic | 1.18.5 | None | A database migration tool for SQLAlchemy. |
| annotated-types | 0.7.0 | None | Reusable constraint types to use with typing.Annotated |
| anyio | 4.14.1 | None | High-level concurrency and networking framework on top of asyncio or Trio |
| ast_serialize | 0.6.0 | None | Python bindings for mypy AST serialization |
| asttokens | 3.0.1 | https://github.com/gristlabs/asttokens | Annotate AST trees with source code positions |
| backoff | 2.2.1 | https://github.com/litl/backoff | Function decoration for backoff and retry |
| blinker | 1.9.0 | None | Fast, simple object-to-object and broadcast signaling |
| Bootstrap-Flask | 2.5.0 | None | Bootstrap 4 & 5 helper for your Flask projects. |
| certifi | 2026.6.17 | https://github.com/certifi/python-certifi | Python package for providing Mozilla's CA Bundle. |
| charset-normalizer | 3.4.7 | None | The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet. |
| click | 8.4.2 | None | Composable command line interface toolkit |
| colorlog | 6.10.1 | https://github.com/borntyping/python-colorlog | Add colours to the output of Python's logging module. |
| decorator | 5.3.1 | None | Decorators for Humans |
| executing | 2.2.1 | https://github.com/alexmojaki/executing | Get the currently executing AST node of a frame, and other information |
| Flask | 3.1.3 | None | A simple framework for building complex web applications. |
| Flask-DebugToolbar | 0.16.0 | None | A toolbar overlay for debugging Flask applications. |
| Flask-DebugToolbar-LineProfilerPanel | 1.0.2 | https://github.com/phleet/flask_debugtoolbar_lineprofilerpanel | Panel for the Flask Debug toolbar to capture and view line-by-line profiling stats |
| Flask-Migrate | 4.1.0 | None | SQLAlchemy database migrations for Flask applications using Alembic. |
| Flask-SQLAlchemy | 3.1.1 | None | Add SQLAlchemy support to your Flask application. |
| Flask-WTF | 1.3.0 | None | Form rendering, validation, and CSRF protection for Flask with WTForms. |
| freezegun | 1.5.5 | https://github.com/spulec/freezegun | Let your Python tests travel through time |
| gql | 4.0.0 | https://github.com/graphql-python/gql | GraphQL client for Python |
| graphql-core | 3.2.11 | https://github.com/graphql-python/graphql-core | GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL. |
| greenlet | 3.5.3 | None | Lightweight in-process concurrent programming |
| gunicorn | 26.0.0 | None | WSGI HTTP Server for UNIX |
| h11 | 0.16.0 | https://github.com/python-hyper/h11 | A pure-Python, bring-your-own-I/O implementation of HTTP/1.1 |
| httpcore | 1.0.9 | None | A minimal low-level HTTP client. |
| httpx | 0.28.1 | None | The next generation HTTP client. |
| idna | 3.18 | None | Internationalized Domain Names in Applications (IDNA) |
| ilock | 1.0.3 | https://github.com/symonsoft/ilock | Inter-process named lock library |
| ipython | 9.15.0 | None | IPython: Productive Interactive Computing |
| ipython_pygments_lexers | 1.1.1 | None | Defines a variety of Pygments lexers for highlighting IPython code. |
| itsdangerous | 2.2.0 | None | Safely pass data to untrusted environments and back. |
| jedi | 0.20.0 | https://github.com/davidhalter/jedi | An autocompletion tool for Python that can be used for text editors. |
| Jinja2 | 3.1.6 | None | A very fast and expressive template engine. |
| librt | 0.12.0 | None | Mypyc runtime library |
| line_profiler | 5.0.2 | https://github.com/pyutils/line_profiler | Line-by-line profiler |
| Mako | 1.3.12 | https://www.makotemplates.org/ | A super-fast templating language that borrows the best ideas from the existing templating languages. |
| MarkupSafe | 3.0.3 | None | Safely add untrusted strings to HTML/XML markup. |
| matplotlib-inline | 0.2.2 | None | Inline Matplotlib backend for Jupyter |
| multidict | 6.7.1 | https://github.com/aio-libs/multidict | multidict implementation |
| mypy | 2.2.0 | None | Optional static typing for Python |
| mypy_extensions | 1.1.0 | None | Type system extensions for programs checked with the mypy type checker. |
| packaging | 26.2 | None | Core utilities for Python packages |
| parso | 0.8.7 | https://github.com/davidhalter/parso | A Python Parser |
| pathspec | 1.1.1 | None | Utility library for gitignore style pattern matching of file paths. |
| pdbp | 1.8.2 | https://github.com/mdmintz/pdbp | pdbp (Pdb+): A drop-in replacement for pdb and pdbpp. |
| pexpect | 4.9.0 | https://pexpect.readthedocs.io/ | Pexpect allows easy control of interactive console applications. |
| portalocker | 3.2.0 | None | Wraps the portalocker recipe for easy usage |
| prompt_toolkit | 3.0.52 | None | Library for building powerful interactive command lines in Python |
| propcache | 0.5.2 | https://github.com/aio-libs/propcache | Accelerated property cache |
| psutil | 7.2.2 | https://github.com/giampaolo/psutil | Cross-platform lib for process and system monitoring. |
| psycopg | 3.3.4 | None | PostgreSQL database adapter for Python |
| psycopg-binary | 3.3.4 | None | PostgreSQL database adapter for Python -- C optimisation distribution |
| ptyprocess | 0.7.0 | https://github.com/pexpect/ptyprocess | Run a subprocess in a pseudo terminal |
| pure_eval | 0.2.3 | http://github.com/alexmojaki/pure_eval | Safely evaluate AST nodes without side effects |
| pydantic | 2.13.4 | None | Data validation using Python type hints |
| pydantic_core | 2.46.4 | https://github.com/pydantic/pydantic | Core functionality for Pydantic validation and serialization |
| Pygments | 2.20.0 | None | Pygments is a syntax highlighting package written in Python. |
| python-dateutil | 2.9.0.post0 | https://github.com/dateutil/dateutil | Extensions to the standard Python datetime module |
| python-dotenv | 1.2.2 | None | Read key-value pairs from a .env file and set them as environment variables |
| pytz | 2026.2 | http://pythonhosted.org/pytz | World timezone definitions, modern and historical |
| requests | 2.34.2 | None | Python HTTP for Humans. |
| requests-toolbelt | 1.0.0 | https://toolbelt.readthedocs.io/ | A utility belt for advanced users of python-requests |
| rt | 3.7.1 | None | Python interface to Request Tracker API |
| six | 1.17.0 | https://github.com/benjaminp/six | Python 2 and 3 compatibility utilities |
| SQLAlchemy | 2.0.51 | https://www.sqlalchemy.org | Database Abstraction Library |
| stack-data | 0.6.3 | http://github.com/alexmojaki/stack_data | Extract data from python stack frames and tracebacks for informative displays |
| stackprinter | 0.2.13 | https://github.com/cknd/stackprinter | Debug-friendly stack traces, with variable values and semantic highlighting |
| tabcompleter | 1.4.1 | https://github.com/mdmintz/tabcompleter | tabcompleter --- Autocompletion in the Python console. |
| traitlets | 5.15.1 | None | Traitlets Python configuration system |
| types-pytz | 2026.2.0.20260518 | None | Typing stubs for pytz |
| typing-inspection | 0.4.2 | None | Runtime typing introspection tools |
| typing_extensions | 4.16.0 | None | Backported and Experimental Type Hints for Python 3.9+ |
| urllib3 | 2.7.0 | None | HTTP library with thread-safe connection pooling, file post, and more. |
| wcwidth | 0.8.2 | None | Measures the displayed width of unicode strings in a terminal |
| Werkzeug | 3.1.8 | None | The comprehensive WSGI web application library. |
| WTForms | 3.2.2 | None | Form validation and rendering for Python web development. |
| yarl | 1.24.2 | https://github.com/aio-libs/yarl | Yet another URL library |
| Resource | Value |
|---|---|
| User CPU time | 10.215 msec |
| System CPU time | 0.372 msec |
| Total CPU time | 10.587 msec |
| Elapsed time | 34.677 msec |
| Context switches | 9 voluntary, 6 involuntary |
| Key | Value |
|---|---|
| HTTP_ACCEPT | */* |
| HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
| HTTP_HOST | dashboard.uat.tigr.uk |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| QUERY_STRING | end=2025-02-12&start=2025-02-12 |
| REMOTE_ADDR | 10.42.13.21 |
| REQUEST_METHOD | GET |
| SCRIPT_NAME | |
| SERVER_NAME | 0.0.0.0 |
| SERVER_PORT | 8000 |
| SERVER_PROTOCOL | HTTP/1.1 |
| SERVER_SOFTWARE | gunicorn/26.0.0 |
| View Function | kwargs |
|---|---|
| app.views.ops_reports.triage_response_report_drilldown | None |
| Variable | Value |
|---|
No SESSION data
| Variable | Value |
|---|---|
| 'end' | '2025-02-12' |
| 'start' | '2025-02-12' |
| Variable | Value |
|---|
| Variable | Value |
|---|---|
| data | [<Ticket(id=4226, rt_number=53457, queue=Requests, subject=Adding new docker container to our gitops+k8s cluster., ticket_status=closed, client=Geograph, priority=46, created=2025-01-13 13:31:04, last_txn_id=2291418>, <Ticket(id=4576, rt_number=53849, queue=Incidents, subject=Password Notifications for tiger-computing.co.uk - Take Action Now, ticket_status=rejected, client=Internal, priority=0, created=2025-02-11 22:52:46, last_txn_id=2287075>, <Ticket(id=4578, rt_number=53851, queue=Incidents, subject=CRITICAL: Backups: Borgmatic on woodlands.midnighthax.com, ticket_status=closed, client=Internal, priority=0, created=2025-02-12 08:31:34, last_txn_id=2287479>, <Ticket(id=4579, rt_number=53852, queue=Triage, subject=We’ll get you 30-250 leads… or it’s FREE, ticket_status=rejected, client=None, priority=0, created=2025-02-12 11:01:47, last_txn_id=2287207>, <Ticket(id=4580, rt_number=53853, queue=Requests, subject=Graphite - Clear out of metrics, ticket_status=closed, client=OpenCorporates, priority=2, created=2025-02-12 11:25:37, last_txn_id=2290569>, <Ticket(id=4587, rt_number=53860, queue=Requests, subject=Credential update, ticket_status=closed, client=ITC Compliance, priority=0, created=2025-02-12 14:23:58, last_txn_id=2287697>, <Ticket(id=4588, rt_number=53861, queue=Incidents, subject=DOWN: dlskvm2.dlsmedical.internal, ticket_status=closed, client=DLS Plastics, priority=25, created=2025-02-12 15:32:24, last_txn_id=2289447>, <Ticket(id=4590, rt_number=53863, queue=Incidents, subject=CRITICAL: NRPE Disk: /home on talisker.synpromics.com, ticket_status=closed, client=AskBio, priority=64, created=2025-02-12 20:32:32, last_txn_id=2288024>] |
| g | <flask.g of 'app'> |
| meta | {'end': datetime.date(2025, 2, 12), 'start': datetime.date(2025, 2, 12), 'target': 600, 'title': 'Triage response', 'warning_threshold': 0.5} |
| request | <Request 'http://dashboard.uat.tigr.uk/triage_response_report_drilldown?end=2025-02-12&start=2025-02-12' [GET]> |
The toolbar was unable to fetch the SQLAlchemy queries for this request. To enable the SQLAlchemy query display, please:
The Flask-SQLAlchemy extension needs to be configured for this application. Please see the Flask-SQLAlchemy documentation for details.
| Level | Time | Message | Location |
|---|---|---|---|
| DEBUG | 2026-07-12 12:49:30.830155 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830204 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830214 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830221 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830227 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830234 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830240 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830244 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830250 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830254 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830259 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830264 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830269 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830274 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830279 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830284 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830289 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830294 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830299 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830305 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830310 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830314 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830319 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830324 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830329 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830334 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830339 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830344 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830349 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830354 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830359 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830366 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830371 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830377 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830382 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830387 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830393 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830398 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830403 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830414 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830421 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830427 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830432 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830437 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830443 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830448 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830453 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830458 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830463 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830467 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830472 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830477 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830482 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830487 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830492 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830497 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830502 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830507 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830512 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830517 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830521 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830526 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830531 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830536 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830541 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830546 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830551 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830556 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830561 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830566 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830571 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830577 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830582 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830587 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830592 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830598 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830602 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830608 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830613 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830618 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830623 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830628 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830633 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830639 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830644 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830650 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830654 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830659 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830664 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830669 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830674 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830679 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830684 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830690 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830695 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830701 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830706 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830711 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830716 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830721 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830726 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830730 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830736 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830740 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830745 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830750 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830755 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830760 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830765 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830771 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830775 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830781 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830786 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830791 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830796 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830801 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830806 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830812 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830817 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830822 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830827 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830833 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830838 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830843 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830848 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830853 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830858 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830863 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830868 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830874 | xxx | ./services/model.py:838 |
| DEBUG | 2026-07-12 12:49:30.830879 | xxx | ./services/model.py:838 |
from flask_debugtoolbar_lineprofilerpanel.profile import line_profile
# Using it as a decorator
@app.route('/profile')
@line_profile
def profile_page():
...
return flask.render_template('profile_page')
# Explicit argument
line_profile(some_function)