Jump to content
adrian

Tracy Debugger

Recommended Posts

Good day @adrian!

I want to move Tracy bar from right bottom corner to the left. So the online chat box would not be in front of it. I saw the bar being moved here and there, but I can't reproduce it in my installation. How do I do it?

  • Like 1

Share this post


Link to post
Share on other sites

Hi @Ivan Gretsky - the core Tracy package comes with the ability to drag the bar but I disabled it long ago because it was causing too many problems and I didn't really see many advantages. Perhaps you can solve the issue you are having with the "Starting z-index for panels" option in the module settings. If that doesn't work for you, let me know and we'll figure something else out.

  • Like 2

Share this post


Link to post
Share on other sites
6 minutes ago, adrian said:

let me know and we'll figure something else out.

Hi Adrian,
I would be happy to hear that you give another chance of the possibility to move the bar to the bottom left corner, optionally. Dragging it around is kinda pointless, at least in my point of view, but as I already explained it in the past, the bottom right corner can sometimes be problematic when Tracy interferes with something, and covering an interactive part of the site is not really a solution. However, it is very rare that both bottom corners contain interactive elements, so being able to pick which corner to cover would suffice most situations, I think.

  • Like 2

Share this post


Link to post
Share on other sites
46 minutes ago, adrian said:

Hi @Ivan Gretsky - the core Tracy package comes with the ability to drag the bar but I disabled it long ago because it was causing too many problems and I didn't really see many advantages. Perhaps you can solve the issue you are having with the "Starting z-index for panels" option in the module settings. If that doesn't work for you, let me know and we'll figure something else out.

Z-index does not solve the problem. Chat window is added with js and is always on top.

Share this post


Link to post
Share on other sites

@Ivan Gretsky and @szabesz - new version adds a new "Bar Position" module setting that lets you choose between bottom left and bottom right.

Let me know if you notice any problems.

  • Like 3

Share this post


Link to post
Share on other sites

Another new version which takes care of an issue that has been lingering from the very first version 🙂

The option to send error messages to your email address when in Production mode now supports wireMail() so it will use whatever wireMail module you are using.

There is also a new module setting for defining the "from email" address, as well as the old "to email" option.

Remember that messages are only sent if the output mode in settings is set to Production and also note that you will only get one email - all subsequent errors will be logged in the Tracy logs files but won't be emailed until you clear the "sent email" flag.

It's sure nice to have this working as a way to track errors that occur on a production site during regular use.

Let me know if you find any problems.

  • Like 3

Share this post


Link to post
Share on other sites
3 hours ago, adrian said:

The option to send error messages to your email address when in Production mode now supports wireMail() so it will use whatever wireMail module you are using.

Now I know why those emails often ended up in the spam folder... Thanks for the improvement!

  • Like 1

Share this post


Link to post
Share on other sites
Just now, szabesz said:

Now I know why those emails often ended up in the spam folder... Thanks for the improvement!

Yeah, sorry about that - the Tracy core just uses PHP's mail() and I wasn't sure how to hook into the send process so I could implement wireMail - of course it turned out to be easy, but it wasn't documented so had to dig a little.

  • Like 3

Share this post


Link to post
Share on other sites

I found a CSS bug with Firefox:

The directory list panel in the file editor is not usable, i.e. you can't focus / click on any file or directory links. The three buttons at the bottom also don't work (test, save, restore backup). I can use the scrollbar, but only with dragging (mouse-scrollwheel doesn't work). The code-block works.

If I remove position: absolute from .tracy-filterbox-wrap everything works fine, but it breaks in Chrome.

I finally found that removing height: auto !important; from #tracyFileEditorFilterBoxWrap makes it work in both browsers.

(You already set a fixed height for .tracy-filterbox-wrap, but of course an ID CSS selector + !important are much stronger than a class)

 

  • Like 1

Share this post


Link to post
Share on other sites

Thanks @dragan for finding the problem and providing the fix - much appreciated. I have committed a new version with the fix.

PS - sorry about all the !important throughout that - it's quite a mess - it's difficult to override site frontend CSS as well as core Tracy CSS.

Share this post


Link to post
Share on other sites

Thanks!

I feel bad for asking about another issue though... Since approx. 1-2 weeks I see frequent warnings like these popping up:

1996707894_Screenshot_2020-02-01PagesProcessWirefantastiquech.png.28d720ef7b33127159324586a6f2d86c.png

Frequently = several times during a backend session.

When I check the "clear email sent" checkbox and hit save, I get this error message:

1929031178_Screenshot_2020-02-01ModuleTracyDebuggerfantastiquech.png.83a14b85b36eb1d80f8de03cd245a12f.png

The checkbox stays un-checked after save.

Latest PW dev + last 2 or 3 TD versions.

Share this post


Link to post
Share on other sites

Don't feel bad 🙂

The warning should show up when an error has been logged in production mode and the "email-sent" file exists under /assetes/logs/tracy/

There are two ways to clear it - via the link in the warning, or by checking that "clear email sent" checkbox in the module settings. If you do the first one, and then try the other, there will be nothing to delete.

Do you have the email fields filled out for getting emails about logged errors? Maybe I shouldn't show the warning if these aren't filled out because it isn't really relevant if you're not getting emails I suppose.

Share this post


Link to post
Share on other sites

@dragan - new version won't enable email notification of errors unless both email "to" and "from" fields are set. I think this should sort out the discrepancies you are seeing.

Share this post


Link to post
Share on other sites

@adrian Both email fields are set.

50 minutes ago, adrian said:

Maybe I shouldn't show the warning if these aren't filled out because it isn't really relevant if you're not getting emails I suppose.

That's what I would suggest too. It's just a bit irritating, that's all.

20 minutes ago, adrian said:

new version won't enable email notification

Thanks!

Share this post


Link to post
Share on other sites

Sorry if this has been covered before - regarding the email sent flag - does it only block it for that same error, or would one receive new errors, even if the flag is not cleared? I don't see myself being able to clear flags that often - especially the errors I get everyday from ProCache on most sites.

Share this post


Link to post
Share on other sites

@Macrura - it will only email one error of any type until the flag is cleared. This is Tracy core functionality, not something I added.

I guess if you want an email every time there is an error, I could have the flag cleared on every page load so the behavior is overridden. 

The other possibility is hooking up error logging to send errors to Slack or similar, instead of email - probably a friendlier approach if you are getting lots per day.

My question though, is why is ProCache giving so many errors?

Share this post


Link to post
Share on other sites

Hi @adrian - thanks; I think i do get the recurring errors, but wasn't sure if the recent changes/version would change something; as i only saw the new flag clearing alerts on some recently updated sites, but i didn't read the changelog or anything yet. I don't want to cause you any extra work.

Been getting the same 2 errors from ProCache for years... i just delete them - those would be great if they could just be filtered out of error reporting!

PHP Warning: rename(/home/user/website.com/site/assets/ProCache-b1aa65c9cad10a45a4f5b53b7448/http404/index-website_com.html.tmp,/home/user/website.com/site/assets/ProCache-b1aa65c9cad10a45a4f5b53b7448/http404/index-website_com.html): No such file or directory in /home/user/website.com/site/assets/cache/FileCompiler/site/modules/ProCache/ProCache.module:1006

PHP Warning: unlink(/home/user/public_html/site/assets/ProCache-b1aa65c9cad10a45a4f5b53b7448/.last-maintenance): No such file or directory in /home/user/public_html/site/assets/cache/FileCompiler/site/modules/ProCache/ProCache.module:490

 

Share this post


Link to post
Share on other sites
14 hours ago, Macrura said:

I think i do get the recurring errors, but wasn't sure if the recent changes/version would change something

Ah - I just took a better look at the Tracy core and even though I don't see it documented anywhere, there is a $snooze time which means that after this time has expired, you'll get another email notification. The default is 2 days. Would it help you if this was configurable in the module settings?

Regarding filtering of certain errors - would you want those kept out of the Tracy error logs completely, or just not receive an email about them, but still log them? Not sure if I can easily do this. You could of course change the log severity settings so that no warnings logged, but that's probably not what you want.

Share this post


Link to post
Share on other sites
5 hours ago, adrian said:

Ah - I just took a better look at the Tracy core and even though I don't see it documented anywhere, there is a $snooze time which means that after this time has expired, you'll get another email notification. The default is 2 days. Would it help you if this was configurable in the module settings?

cool, that's great to know! I don't need it configurable a this time, but maybe others can weigh in on opinions of having it configurable.

5 hours ago, adrian said:

Regarding filtering of certain errors - would you want those kept out of the Tracy error logs completely, or just not receive an email about them, but still log them? Not sure if I can easily do this. You could of course change the log severity settings so that no warnings logged, but that's probably not what you want.

I can see a situation, ProCache for example, where there are recurring errors, but don't warrant any action; Not sure if it is possible to exclude notifications by some filter, but i think it would be nice to have at some point if it didn't present a huge amount of work; I have several sites that end up with say warnings or errors that are not adversely effecting anything, but at the same time i know they won't be able to be addressed for a while - it would be cool to be able to snooze those alerts by some interval, like x days/months..

thanks!

Share this post


Link to post
Share on other sites

Hey @adrian just using the tracy console a lot gain for testing/developing a module. It's absolutely brilliant! Thx again!

Do you have an idea of a quick solution for having dumped objects always unfolded? This is what I'm doing:

uOM2RnA.png

I always have to unfold the object dump to see the results. For that I have to use the mouse - which is slow and tedious. If there where a checkbox "automatically unfold all dumps" it would speed up my process even more.

Looking forward to hearing your thoughts about this, thx. Maybe there is already an option somehwere?

  • Like 1

Share this post


Link to post
Share on other sites

Hey @bernhard - these are the two settings that control this: https://github.com/adrianbj/TracyDebugger/blob/11582e03c22db697972a08dac0e01630b0dbcb79/includes/TD.php#L156-L157

I have hardcoded them to "1" so dumps are always collapsed, but I can certainly open them up for being modified. The normal way to do these sorts of tweaks with the Tracy core is to include those as part of the options array when calling the dump, but it's usually just too much typing and not worth the hassle, so need to come up with an easier way. No time to look into this today I'm afraid, but will do sometime soon. In the meantime, you can obviously change those for your current needs.

  • Like 1

Share this post


Link to post
Share on other sites

Thx, I'm done with my testing - asking earlier would have saved me some hundred clicks 😄 😛

$options[Dumper::COLLAPSE] = 14;
$options[Dumper::COLLAPSE_COUNT] = 7;

This worked well. It would be nice to have an option somewhere for this, but it is definitely not high priority, so don't hurry. Thx anyhow for taking it into account! 🙂 

Share this post


Link to post
Share on other sites

I  know this sounds crazy at first. I have a site which shows a very strange behaviour on the live server. The Site behaves normal as long as Tracy Debugger is ON. Response time is round about 200-300ms. As soon as I disable Tracy the response time grows to several seconds (6-7s !). Once the server answers, the rest of the assets deliver fast.
Ideas where to begin a research welcome 🙂

Share this post


Link to post
Share on other sites

When you say "off", do you mean production mode, disabled "by unchecking the "Enable Tracy Debugger" checkbox, or is Tracy uninstalled?

If in production mode, do you have emailing of logged errors enabled? I am wondering if you have a slow connection to your email service (SMTP or API).

Share this post


Link to post
Share on other sites
2 minutes ago, adrian said:

When you say "off", do you mean production mode, disabled "by unchecking the "Enable Tracy Debugger" checkbox, or is Tracy uninstalled?

If in production mode, do you have emailing of logged errors enabled? I am wondering if you have a slow connection to your email service (SMTP or API).

I tested both: Off can be "Enable Tracy Debugger" unchecked or uninstalling Tracy. Both leads to bad performance. If Tracy is enabled "Output Mode" can be "Production" or "Development". Both cases leads to normal operation. So maybe the question is what does Tracy change in the rendering process, when it is active.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By joshua
      This module is (yet another) way for implementing a cookie management solution.
      Of course there are several other possibilities:
      - https://processwire.com/talk/topic/22920-klaro-cookie-consent-manager/
      - https://github.com/webmanufaktur/CookieManagementBanner
      - https://github.com/johannesdachsel/cookiemonster
      - https://www.oiljs.org/
      - ... and so on ...
      In this module you can configure which kind of cookie categories you want to manage:

      You can also enable the support for respecting the Do-Not-Track (DNT) header to don't annoy users, who already decided for all their browsing experience.
      Currently there are four possible cookie groups:
      - Necessary (always enabled)
      - Statistics
      - Marketing
      - External Media
      All groups can be renamed, so feel free to use other cookie group names. I just haven't found a way to implement a "repeater like" field as configurable module field ...
      When you want to load specific scripts ( like Google Analytics, Google Maps, ...) only after the user's content to this specific category of cookies, just use the following script syntax:
      <script type="optin" data-type="text/javascript" data-category="statistics" data-src="/path/to/your/statistic/script.js"></script> <script type="optin" data-type="text/javascript" data-category="marketing" data-src="/path/to/your/mareketing/script.js"></script> <script type="optin" data-type="text/javascript" data-category="external_media" data-src="/path/to/your/external-media/script.js"></script> <script type="optin" data-type="text/javascript" data-category="marketing">console.log("Inline scripts are also working!");</script> The type has to be "optin" to get recognized by PrivacyWire, the data-attributes are giving hints, how the script shall be loaded, if the data-category is within the cookie consents of the user. These scripts are loaded asynchronously after the user made the decision.
      If you want to give the users the possibility to change their consent, you can use the following Textformatter:
      [[privacywire-choose-cookies]] It's planned to add also other Textformatters to opt-out of specific cookie groups or delete the whole consent cookie.
      You can also add a custom link to output the banner again with a link / button with following class:
      <a href="#" class="privacywire-show-options">Show Cookie Options</a> <button class="privacywire-show-options">Show Cookie Options</button> This module is still in development, but we already use it on several production websites.
      You find it here: PrivacyWire Git Repo
      Download as .zip
      I would love to hear your feedback 🙂
      CHANGELOG
      0.0.5 Multi-language support included completely (also in TextFormatter). Added possibility to async load other assets (e.g. <img type="optin" data-category="marketing" data-src="https://via.placeholder.com/300x300">) 0.0.4 Added possibility to add an imprint link to the banner 0.0.3 Multi-language support for module config (still in development) 0.0.2 First release 0.0.1 Early development
    • By MoritzLost
      This is a new module that provides a simple solution to clearing all your cache layers at once, and an extensible interface to perform various cache-related actions.
      The simple motivation behind this module was that I was tired of manually clearing caches in several places after deploying a change on a live site. The basic purpose of this module is a simple Clear all caches link in the Setup menu which clears out all caches, no matter where they hide. You can customize what exactly the module does through it's configuration menu:
      Expire or delete all cache entries in the database, or selectively clear caches by namespace ($cache API) Clear the the template render cache. Clear out specific folders inside your site's cache directory (/site/assets/cache) Refresh version strings for static assets to bust client-side browser caches (this requires some setup, see the full documentation for details). This is the basic function of the module. However, you can also add different cache management action through the API and execute them through the module's interface. For this advanced usage, the module provides:
      An interface to see all available cache actions and execute them. A system log and logging output on the module page to see verify what the module is doing. A CacheControlTools class with utility functions to clear out different caches. An API to add cache actions, execute them programmatically and even modify the default action. Permission management, allowing you granular control over which user roles can execute which actions. The complete documentation can be found in the module's README.
      Beta release
      Note that I consider this a Beta release. Since the module is relatively aggressive in deleting some caches, I would advise you to install in on a test environment before using it on a live site.
      Let me know if you're getting any errors, have trouble using the module or if you have suggestions for improvement!
      In particular, can someone let me know if this module causes any problems with the ProCache module? I don't own or use it, so I can't check. As far as I can tell, ProCache uses a folder inside the cache directory to cache static pages, so my module should be able to clear the ProCache site cache as well, I'd appreciate it if someone can test that for me.
      Future plans
      If there is some interest in this, I plan to expand this to a more general cache management solution. I particular, I would like to add additional cache actions. Some ideas that came to mind:
      Warming up the template render cache for publicly accessible pages. Removing all active user sessions. Let me know if you have more suggestions!
      Links
      https://github.com/MoritzLost/ProcessCacheControl ProcessCacheControl in the Module directory

    • By David Karich
      Admin Page Tree Multiple Sorting
      ClassName: ProcessPageListMultipleSorting
      Extend the ordinary sort of children of a template in the admin page tree with multiple properties. For each template, you can define your own rule. Write each template (template-name) in a row, followed by a colon and then the additional field names for sorting.
      Example: All children of the template "blog" to be sorted in descending order according to the date of creation, then descending by modification date, and then by title. Type:
      blog: -created, -modified, title  Installation
      Copy the files for this module to /site/modules/ProcessPageListMultipleSorting/ In admin: Modules > Check for new modules. Install Module "Admin Page Tree Multible Sorting". Alternative in ProcessWire 2.4+
      Login to ProcessWire backend and go to Modules Click tab "New" and enter Module Class Name: "ProcessPageListMultipleSorting" Click "Download and Install"   Compatibility   I have currently tested the module only under PW 2.6+, but think that it works on older versions too. Maybe someone can give a feedback.     Download   PW-Repo: http://modules.processwire.com/modules/process-page-list-multiple-sorting/ GitHub: https://github.com/FlipZoomMedia/Processwire-ProcessPageListMultipleSorting     I hope someone can use the module. Have fun and best regards, David
    • By dimitrios
      Hello,
      this module can publish content of a Processwire page on a Facebook page, triggered by saving the Processwire page.
      To set it up, configure the module with a Facebook app ID, secret and a Page ID. Following is additional configuration on Facebook for developers:
      Minimum Required Facebook App configuration:
      on Settings -> Basics, provide the App Domains, provide the Site URL, on Settings -> Advanced, set the API version (has been tested up to v3.3), add Product: Facebook Login, on Facebook Login -> Settings, set Client OAuth Login: Yes, set Web OAuth Login: Yes, set Enforce HTTPS: Yes, add "https://www.example.com/processwire/page/" to field Valid OAuth Redirect URIs. This module is configurable as follows:
      Templates: posts can take place only for pages with the defined templates. On/Off switch: specify a checkbox field that will not allow the post if checked. Specify a message and/or an image for the post.
      Usage
      edit the desired PW page and save; it will post right after the initial Facebook log in and permission granting. After that, an access token is kept.
       
      Download
      PW module directory: http://modules.processwire.com/modules/auto-fb-post/ Github: https://github.com/kastrind/AutoFbPost   Note: Facebook SDK for PHP is utilized.


×
×
  • Create New...