Guance Learn

Observability questions

Focused answers for definitions, architecture choices, troubleshooting, pricing, and evaluation.

Illustration of Git branches and version history
Technical guide

Delete a remote Git tag

Use a fully qualified tag ref, handle local copies separately, and preserve annotated-tag metadata when recovery matters.

Illustration of Git branches and version history
Technical guide

Remove local Git commits before pushing

Inspect which commits differ from the intended upstream, choose how reset handles their changes, and preserve a recovery point before rewriting.

Illustration of Git branches and version history
Technical guide

Split a subdirectory into a separate Git repository

Extract a directory and its relevant history with git-filter-repo or subtree split, then publish the new repository and update its dependencies.

Secure network connections and certificate management
Technical guide

Check a PEM certificate’s expiration date

Read notAfter with OpenSSL, test an expiration threshold, inspect certificate bundles, and calculate remaining days with explicit error handling.

Python programming and application logging
Explainer

Determine an object’s type in Python

Use type for exact classes, isinstance for inheritance-aware checks, and issubclass for classes. Check supported operations directly when type is not the requirement.

Illustration of Git branches and version history
Technical guide

Find the remote URL of a local Git repository

Inspect fetch and push URLs, distinguish configured URLs from rewritten URLs, and understand why origin is not a permanent record of the original clone.

Illustration of monitoring and troubleshooting application behavior
Explainer

Diagnose sleeping processes on Linux

Distinguish normal interruptible sleep from blocked tasks, growing worker pools, and zombie processes.

Python programming and application logging
Explainer

Skip or deselect a test in pytest

Use pytest skip and skipif markers, distinguish expected failures from skipped tests, and temporarily exclude a test by its node ID.

Python programming and application logging
Explainer

Reduce requests and urllib3 log noise in Python

Set requests and urllib3 logger thresholds, understand inherited levels and propagation, and keep useful HTTP warnings visible without hiding application exceptions.

Python programming and application logging
Explainer

Control logging output during Python tests

Separate suppressing log records from hiding pytest output, restore logging state after tests, and keep caplog assertions meaningful.

Illustration of monitoring and troubleshooting application behavior
Explainer

Silence application logs in Django tests

Suppress noisy Python logs for selected tests, restore the previous state, and keep log assertions working.

Python programming and application logging
Explainer

Disable HTTP access logs in Python web applications

Control access logs in Flask, Django, Uvicorn, and Gunicorn while retaining the error records you need to investigate failures.