Percona XtraBackup Documentation

repository·trunk·Indexed 23 days ago

https://github.com/percona/percona-xtrabackup

An open-source hot backup utility for MySQL-based servers that enables non-blocking backups to minimize performance impact on production databases.

Tokens
210.5K
Snippets
318
Records
1.3K
Agent score
81%

What's inside Percona XtraBackup

  1. Overview of the Googletest Mocking (gMock) Framework

    trunk

    gMock is a C++ framework for writing and using mock classes. It is designed to help improve system design and testing quality by providing a declarative syntax for defining mocks and controlling their behavior.

    Key capabilities include:

    • Declarative Mock Definition: Define mock objects using a specialized syntax.
    • Partial (Hybrid) Mocks: Create objects that combine real implementation with mocked behavior.
    • Complex Function Support: Handles arbitrary types and overloaded functions.
    • Argument Validation: Includes a rich set of matchers to validate function arguments.
    • Behavior Control: Uses intuitive syntax to specify how mocks should respond to calls.
    • Automatic Verification: Automatically verifies expectations without requiring a manual record-and-replay cycle.
    • Ordering Constraints: Allows expressing arbitrary (partial) ordering constraints on function calls.
    • Extensibility: Users can define custom matchers and actions.
    • Exception-free: The framework does not use C++ exceptions.

    gMock is part of the GoogleTest C++ testing framework.

  2. Overview of the OpenTelemetry Protocol (OTLP) Specification

    trunk

    The OpenTelemetry Protocol (OTLP) specification defines how telemetry data is encoded, transported, and delivered between telemetry sources (e.g., applications), intermediate nodes (e.g., collectors), and telemetry backends.

    Current Status:

    • Stable: Trace, metric, and log signals.
    • Development: Profiles signal.
  3. Overview of the MySQL Binlog library group

    trunk
    The libs/mysql/binlog library group provides a collection of libraries dedicated to the definition and processing of MySQL binary logs (binlogs). This group is used for interacting with the binary log format, which is essential for replication, point-in-time recovery, and auditing database changes.
  4. Overview of the MySQL Iterators Library

    trunk

    The MySQL Iterators library provides helper functionality for defining custom C++ iterators efficiently. Key components include:

    • Iterator_interface.h: A CRTP base class for easy definition of standard-compliant iterators.
    • empty_sequence_iterator.h: An iterator for empty sequences of a default-constructible type.
    • meta.h: Metaprogramming utilities like Iterator_concept_tag and Is_declared_legacy_input_iterator for querying iterator properties.
    • null_iterator.h: A function template that returns an iterator for a given type that represents an empty range (useful for views without a source).
  5. Overview of OpenTelemetry Collector Proto packages

    trunk

    The OpenTelemetry Collector Proto package defines the protocols used by the OpenTelemetry collector. It is organized into several specialized packages based on the type of telemetry data being handled:

    • common: Contains shared messages used across different services.
    • trace: Defines the Trace Service protocols.
    • metrics: Defines the Metrics Service protocols.
    • logs: Defines the Logs Service protocols.
  6. Overview of the MySQL Containers Library

    trunk

    The libs/mysql/containers library provides specialized container types and helpers designed for efficient memory management and data manipulation. Key components include:

    • Basic_container_wrapper: A CRTP base class (mixin) used to implement boilerplate for containers that wrap other containers. It provides members from mysql::ranges::Collection_interface, as well as assign, clear, and get_memory_resource functions.
    • Buffers: Specialized containers for storing sequences of raw bytes, designed for scenarios where the exact data size is unknown (e.g., writing to third-party APIs).
    • map_or_set_assign: A utility function that overwrites an unordered_map, map, unordered_set, or set using a range of values. It optimizes performance by reusing existing node objects to minimize allocations and copies.
  7. Overview of the LibsMysqlMeta library

    trunk
    The libs/mysql/meta library provides generic, pure meta-programming utilities for C++. These utilities are executed at compile-time and include concepts, type predicates, and metafunctions. Unlike other libraries that might contain meta-programming utilities specific to their own types, this library is dedicated to general-purpose meta-programming tools.