# Querying Data

### Primary Methods

#### Data Explorer (UI Mode)

The **Data Explorer** offers a visual interface for building queries without writing code.

It supports multiple data sources and lets you query your metrics using either the **MetricsQL Builder** or the **groundcover Query Language Builder**.

**Learn More:** [**Explore & Monitors Query Builder**](https://docs.groundcover.com/use-groundcover/querying-your-groundcover-data/explore-and-monitors-query-builder)

You can switch between UI Mode and Code Mode at any time in the Explore and Monitors sections.

#### Native Pages (Logs/Traces/Events)

groundcover’s native pages use the same filtering syntax as the Data Explorer and Code Mode. Learn more [here](https://docs.groundcover.com/use-groundcover/querying-your-groundcover-data/groundcover-query-language/filters).

#### API

[groundcover’s API](https://docs.groundcover.com/use-groundcover/remote-access-and-apis/api-examples/query-logs/the-basics-of-querying-logs) uses the same query interface as the Data Explorer.\
It supports both **groundcover Query Language** and **MetricsQL** queries.

#### Logs/Traces/Events Query Bar Code Mode

The **Query Bar**, used across the Data Explorer, Dashboards, and Monitor Wizard, lets users switch between **Builder** and **Code** modes.

For **Logs/Traces/Events** it uses the **groundcover Query Language**,  designed for full control over your data.

**It's perfect for:**

* Complex filtering with boolean logic
* Statistical aggregations and percentiles
* Joining data across multiple queries
* Advanced transformations and formatting
* Building precise monitors and dashboards

**Get Started:**

* [**Query Language Overview**](https://docs.groundcover.com/use-groundcover/querying-your-groundcover-data/groundcover-query-language) - Introduction and quick start
* [**Filters**](https://docs.groundcover.com/use-groundcover/querying-your-groundcover-data/groundcover-query-language/filters) - Field matching, wildcards, boolean logic
* [**Aggregations**](https://docs.groundcover.com/use-groundcover/querying-your-groundcover-data/groundcover-query-language/aggregations) - Statistical functions and grouping
* [**Join Operations**](https://docs.groundcover.com/use-groundcover/querying-your-groundcover-data/groundcover-query-language/join-operations) - Combine multiple queries
* [**Pipeline Operations**](https://docs.groundcover.com/use-groundcover/querying-your-groundcover-data/groundcover-query-language/pipeline-operations) - Sort, limit, fields, and more

**Quick Example:**

```
level:error namespace:production | stats by (workload) count() errors | sort by (errors desc) | limit 10
```

*Top 10 workloads with errors in production*

***

### Legacy Methods (Grafana)

groundcover includes embedded Grafana for users who prefer Grafana's query interfaces. These methods are still fully supported.

#### Query via Grafana

* [**Query your logs**](https://docs.groundcover.com/use-groundcover/broken-reference) - Grafana-based log querying
* [**Query your metrics**](https://docs.groundcover.com/use-groundcover/broken-reference) - PromQL in Grafana
* [**Using KEDA autoscaler with groundcover**](https://docs.groundcover.com/use-groundcover/querying-your-groundcover-data/using-keda-autoscaler-with-groundcover) - Advanced use case
