Published on August 20, 2022

Monitor when a new feature is used in your PHP application

Monitor when a new feature is used in your PHP application

As developers, we always look for ways to improve our PHP products. To do so, we are constantly looking for ways to provide more value to our users and improve their experience.

For example, I am sure you have heard of the term "feature flag" before. A feature flag is a way to enable or disable a feature in your application. This is a great way to test new features and ensure they work as expected before releasing them to your users.

However, adding a new feature is just the first step. Once we have released the feature, we must ensure that our users are using it. We must confirm whether the feature is useful and whether our users are using and benefiting from it.

LogSnag is an excellent tool for this problem as it trivializes integrating with your PHP application and tracking events. With LogSnag, we can easily track any critical event in our application and monitor user activity when a new feature is released, all in real-time.

For example, let's say we're building a PHP application that allows our users to upload files, and we want to add a new feature that allows users to share these files with other users directly. We can use LogSnag to track an event when a user shares a file with another user. We can then use this to monitor how often this feature is being used and even go further and track user journeys to see how they use it.


Setting up LogSnag

  1. Sign up for a free LogSnag account.
  2. Create your first project from the dashboard.
  3. Head to settings and copy your API token.

PHP code snippets

Simply use the following code snippets to monitor your new features using LogSnag. Make sure to replace the YOUR_API_TOKEN with your API token and update the project and channel names.

Using PHP with cURL
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.logsnag.com/v1/log',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{"project":"my-saas","channel":"features","event":"User Shared File","description":"User shared a file with another user","icon":"📩","notify":true}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer YOUR_API_TOKEN'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
Using PHP with Guzzle
<?php
$client = new Client();
$headers = [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer YOUR_API_TOKEN'
];
$body = '{
"project": "my-saas",
"channel": "features",
"event": "User Shared File",
"description": "User shared a file with another user",
"icon": "📩",
"notify": true
}';
$request = new Request('POST', 'https://api.logsnag.com/v1/log', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
Using PHP with HTTP_Request2
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.logsnag.com/v1/log');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer YOUR_API_TOKEN'
));
$request->setBody('{"project":"my-saas","channel":"features","event":"User Shared File","description":"User shared a file with another user","icon":"📩","notify":true}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
Using PHP with pecl_http
<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('https://api.logsnag.com/v1/log');
$request->setRequestMethod('POST');
$body = new http\Message\Body;
$body->append('{"project":"my-saas","channel":"features","event":"User Shared File","description":"User shared a file with another user","icon":"📩","notify":true}');
$request->setBody($body);
$request->setOptions(array());
$request->setHeaders(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer YOUR_API_TOKEN'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();

PHP integration details

LogSnag is a use-case agnostic event tracking tool that easily integrates with any PHP application. It provides powerful features such as real-time event tracking, cross-platform push notifications, event filtering, user and product journeys, charts and analytics, and much more.

Here at LogSnag, we believe that event tracking should be easy and accessible to everyone, and that's why we have made it trivial to integrate with your PHP application. It only takes a few minutes to set up LogSnag, and you can start tracking events in no time.

We provide a generous free plan to get you started with event tracking! You can also check out our pricing page to see our paid plans. So please give us a try and let us know what you think!

Other use-cases for LogSnag

  1. Monitor your CI/CD build status for your PHP application
  2. Monitor your CPU usage in your PHP application
  3. Monitor when database goes down in your PHP application
  4. Monitor high disk usage in your PHP application
  5. Monitor when a user changes their email address in your PHP application
  6. Monitor failed logins in your PHP application
  7. Monitor failed payments for your PHP application
  8. Monitor memory usage in your PHP application
  9. Monitor MySQL downtime in your PHP application
  10. Monitor your Postgres downtime in your PHP application
  11. Monitor Redis downtime in your PHP application
  12. Monitor suspicious activity in your PHP application
  13. Monitor when a user exceeds the usage limit for your PHP service
  14. Monitor when a user is being rate limited in your PHP application
  15. Get a notification when your PHP code is done executing
  16. Send push notifications to your phone or desktop using PHP
  17. Track canceled subscriptions in your PHP application
  18. Track your PHP cron jobs
  19. Track when a file is uploaded to your PHP application
  20. Track when a form is submitted to your PHP application
  21. Track payment events via PHP
  22. Track user sign in events in PHP
  23. Track user signup events via PHP
  24. Track waitlist signup events via PHP
View all common use-cases with PHP