Giter Club home page Giter Club logo

elastic-event-js's Introduction

Elastic Event

Use elastic-event-js to feed and query an ElasticSearch API with data from the browser.

Event logging using ElasticSearch

API Reference

Features

  • No dependencies
  • Small: 3.13 KB
  • No pre-flight requests
  • Simple Interface
  • Bulk saving of events for reduced overhead
  • Save queued events before unload of window

Install

npm install elastic-event-js
bower install Cloudoki/elastic-event-js
<script src="https://cloudoki.github.io/elastic-event-js/dist/elastic-event.min.js" type="text/javascript"></script>

Usage

Configuration

var elasticevent = new ElasticEvent({
  host: 'https://api.elasticsearch.com',
  index: 'your_index',
  setupIntervalSend: true,
  setupBeforeUnload: true
});

Identify a session

elasticevent.identify({
  sessionId: new Date().getTime()
});

Track an event, this sets _type to click.

function onClick () {
  elasticevent.track('click');
}

Track an event with more details

function onClick(event) {
  elasticevent.track('click', {
    x: (event.clientX / window.innerWidth).toPrecision(8),
    y: (event.clientY / window.innerHeight).toPrecision(8)
  });
}

Querying with an elastic DSL helper library, here we use the Bodybuilder but you may also use others, like esq or elastic.js

elasticevent.search(
  new Bodybuilder()
    .filter('term', 'sessionId.raw', elasticevent.traits.sessionId)
    .size(50)
    .build('v2'),
    null,
  function(err, resp) {
    console.log(resp);
  });

Examples

You may need to disable your ad blocker for the examples to work.

  • simple-click: A simple click event and query by identity

  • track-mouse: An example were the mouse movement and clicks are tracked and queried. More details on this example on this blog post.

To run the examples locally you can serve them with:

npm run static

Building

npm run build -s

Linting check

npm run lint -s

Documentation

You may also build and serve the API reference locally:

npm run docs -s

Documentation will be generated at ./docs

To inspect the ./docs you may want to serve your local files.

npm run static

elastic-event-js's People

Contributors

efmr avatar

Stargazers

kenjiru avatar Miquel de Arcayne avatar Elizabet Oliveira avatar Mateusz Kuba avatar Mikael B. Örtenheim avatar Fabio Dias Rollo avatar Gianni Furger avatar Lucas avatar Frank avatar Sylwester Lachiewicz avatar

Watchers

James Cloos avatar Koen Betsens avatar Ricardo Malta avatar Rui Molefas avatar Cátia Araújo avatar Délio Amaral avatar

Forkers

k-enzy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.