# Javascript

### Installation

```sh
npm install telemetry-sh
```

### Usage

#### Import Library

```javascript
const telemetry = require("telemetry-sh");
```

#### Initialize Client

```javascript
telemetry.init("YOUR_API_KEY");  // Replace with your actual API key
```

#### Log Some Data

Telemetry automatically creates tables when data is logged. In the following example, we log some Uber ride data to a table called `uber_rides`. Telemetry will automatically create this table and its corresponding schema with columns: `city`, `price`, and `timestamp`.

```javascript
const data = {
  city: "paris",
  price: 42,
  timestamp: new Date().toISOString()
};

async function logData() {
  try {
    const response = await telemetry.log("uber_rides", data);
    console.log("Log response:", response);
  } catch (error) {
    console.error("Error logging data:", error);
  }
}

logData();
```

#### Query Some Data

You can query the data using SQL through the query API.

```javascript
const query = `
  SELECT
    city,
    AVG(price) AS average_price
  FROM
    uber_rides
  GROUP BY
    city
`;

async function queryData() {
  try {
    const queryResponse = await telemetry.query(query);
    console.log("Query response:", queryResponse);
  } catch (error) {
    console.error("Error querying data:", error);
  }
}

queryData();
```
