PHPackages                             pingevt/timing\_monitor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. pingevt/timing\_monitor

ActiveDrupal-module[Testing &amp; Quality](/categories/testing)

pingevt/timing\_monitor
=======================

Drupal Module for running tests on external sites.

1.0.1(2y ago)16.7k↓27.5%[10 issues](https://github.com/pingevt/timing_monitor/issues)GPL-2.0+PHPPHP ^8.0CI failing

Since May 20Pushed 1y ago1 watchersCompare

[ Source](https://github.com/pingevt/timing_monitor)[ Packagist](https://packagist.org/packages/pingevt/timing_monitor)[ RSS](/packages/pingevt-timing-monitor/feed)WikiDiscussions 1.x Synced 2w ago

READMEChangelogDependencies (4)Versions (21)Used By (0)

CONTENTS OF THIS FILE
---------------------

[](#contents-of-this-file)

- Introduction
- Installation
- Configuration
- FAQ
- Maintainers
- Changelog

INTRODUCTION
------------

[](#introduction)

This module handles custom functionality for Timing monitor. Current Functionality:

- Creates a singlton class to track timing to monitor large processes.

INSTALLATION
------------

[](#installation)

- Install as you would normally install a contributed Drupal module. Visit  for further information.

CONFIGURATION
-------------

[](#configuration)

Configuration can be found at: /admin/config/development/timing-monitor

USAGE
-----

[](#usage)

```
$tm = TimingMonitor::getInstance();

$tm->logTiming("preprocess_node:$bundle:" . $variables['view_mode'], TimingMonitor::START, "Starting...");
$tm->logTiming("preprocess_node:$bundle:" . $variables['view_mode'], TimingMonitor::MARK, "...Mark...");
$tm->logTiming("preprocess_node:$bundle:" . $variables['view_mode'], TimingMonitor::FINISH, "...Finishing");
```

API Documentation
-----------------

[](#api-documentation)

Endpoint: GET `/api/timing-monitor/status`
------------------------------------------

[](#endpoint-get-apitiming-monitorstatus)

### Example Response

[](#example-response)

```
{
  "status": "OK",
  "data": {
    "count": "261",
    "type_count": "4"
  }
}
```

Endpoint: GET `/api/timing-monitor/types`
-----------------------------------------

[](#endpoint-get-apitiming-monitortypes)

### Example Response

[](#example-response-1)

```
{
  "status": "OK",
  "data": {
    "preprocess_node:article:full": {
      "id": "preprocess_node:article:full",
      "count": "60"
    },
    "preprocess_node:article:teaser": {
      "id": "preprocess_node:article:teaser",
      "count": "141"
    },
    "preprocess_node:page:full": {
      "id": "preprocess_node:page:full",
      "count": "12"
    },
    "timing_monitor": {
      "id": "timing_monitor",
      "count": "48"
    }
  }
}
```

Endpoint: GET `/api/timing-monitor/{type}/list`
-----------------------------------------------

[](#endpoint-get-apitiming-monitortypelist)

### Path Arguments

[](#path-arguments)

argdescriptionoptionstypestring - The type string from the monitorYou can use % in the url (%25 as url encoded) as a wildcard.### Query Arguments

[](#query-arguments)

argdescriptionoptionslimitto be implementedstartto be implementedendto be implemented### Example Response

[](#example-response-2)

```
{
  "status": "OK",
  "data": [
    {
      "id": "260",
      "uid": "1",
      "session_uuid": "c76cda75-6341-4d81-9396-29b65704ae62",
      "type": "preprocess_node:article:full",
      "marker": "finish",
      "message": "...Finishing",
      "variables": "a:0:{}",
      "path": "/sketches-notes/checking-field-content-twig-file",
      "method": "GET",
      "timer": "0.0022380352020264",
      "duration": "0.0021839141845703",
      "timestamp": "1698894252"
    },
    {
      "id": "259",
      "uid": "1",
      "session_uuid": "c76cda75-6341-4d81-9396-29b65704ae62",
      "type": "preprocess_node:article:full",
      "marker": "mark",
      "message": "...Mark...",
      "variables": "a:0:{}",
      "path": "/sketches-notes/checking-field-content-twig-file",
      "method": "GET",
      "timer": "0.0001380443572998",
      "duration": "8.392333984375E-5",
      "timestamp": "1698894252"
    }
  ]
}
```

Endpoint: GET `/api/timing-monitor/{type}/daily-average`
--------------------------------------------------------

[](#endpoint-get-apitiming-monitortypedaily-average)

### Path Arguments

[](#path-arguments-1)

argdescriptionoptionstypestring - The type string from the monitorYou can use % in the url (%25 as url encoded) as a wildcard.### Query Arguments

[](#query-arguments-1)

argdescriptionoptionsstartto be implementedendto be implementeddaysto be implemented### Example Response

[](#example-response-3)

```
{
  "status": "OK",
  "data": {
    "type": "preprocess_node:article:full",
    "dates": {
      "2023-11-01": 0.0020719766616821,
      "2023-10-31": 0.0016613245010376,
      "2023-10-30": null,
      "2023-10-29": null,
      "2023-10-28": null,
      "2023-10-27": null,
      "2023-10-26": null
    }
  }
}
```

MAINTAINERS
-----------

[](#maintainers)

Current maintainers:

- Pete Inge (pingevt) -

This project has been sponsored by:

- Bluecadet -

CHANGELOG
---------

[](#changelog)

Unreleased
==========

[](#unreleased)

1.1.x
=====

[](#11x)

- Removes support for D9
- Add support for D11

1.0.1
=====

[](#101)

- Increase size for 'type' and 'marker' cols in the log DB table.
- Verify string are correct length to insert into table.

###  Health Score

31

—

LowBetter than 65% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~51 days

Recently: every ~120 days

Total

17

Last Release

367d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e354e3aa8f75899d7dc41cc3017e438cbf5c0025f55484d8138fa1c489b010a4?d=identicon)[pingevt](/maintainers/pingevt)

---

Top Contributors

[![pingevt](https://avatars.githubusercontent.com/u/3128823?v=4)](https://github.com/pingevt "pingevt (102 commits)")

### Embed Badge

![Health badge](/badges/pingevt-timing-monitor/health.svg)

```
[![Health](https://phpackages.com/badges/pingevt-timing-monitor/health.svg)](https://phpackages.com/packages/pingevt-timing-monitor)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.6k10](/packages/helsingborg-stad-municipio)[govcms/govcms

GovCMS Drupal Distribution

200103.6k3](/packages/govcms-govcms)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45844.8k1](/packages/pressbooks-pressbooks)[civicrm/civicrm-drupal-8

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

20256.6k4](/packages/civicrm-civicrm-drupal-8)[pressbooks/pressbooks-book

This theme is named after Canadian media theorist Marshall McLuhan, who coined the phrase “the medium is the message.” It is designed for academic writing and is also suitable for fiction. Headings are set in Cormorant Garamond, and body type is set in Lora.

226.7k](/packages/pressbooks-pressbooks-book)[offline/oc-boxes-free-plugin

Visual Page Builder for October CMS

132.8k](/packages/offline-oc-boxes-free-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
