Coder Social home page Coder Social logo

Adding metrics to the backend about danswer HOT 6 OPEN

danswer-ai avatar danswer-ai commented on July 26, 2024 1
Adding metrics to the backend

from danswer.

Comments (6)

megamorf avatar megamorf commented on July 26, 2024 1

If I were to operate this application in a business context (company with a +20000 user GHES instance) I'd be looking for the following:

  • indexing information per connector (last index date, index success/failure, crawling data)
  • usage metrics (number of active sessions, tokens generated)

What can I do with those?

The index data and success status tell me if the connectors are working correctly and with the changes in the crawling data I can see if there was suddenly a big change in the ingested content that I otherwise might not be aware of.

With the active sessions I could get a better understanding of how the system is used throughout the day to plan changes or maintenance. And the generated tokens gives me a correlation for usage and cost.

from danswer.

Weves avatar Weves commented on July 26, 2024

Hey @kavfixnel! Do you have any specific metrics / areas you want observability into?

from danswer.

lucianosb avatar lucianosb commented on July 26, 2024

A chat history could be a useful metric specially on the Enterprise scenario with at least the requesting user and the total tokens generated.

from danswer.

yuhongsun96 avatar yuhongsun96 commented on July 26, 2024

Follow up question, what specific things would be useful to track via prometheus? We're trying to avoid introducing too much extra infra that's not related to the core requirements of the project. Is there a must-have reason for observability via a third party log ingestion tool?

That said we are currently adding better logging on the backend for things such as model response, latency etc.

If this is just better logging, we are already doing it and will have an update soon.

If this is about a third party log ingestion service, please explain the need, thx

from danswer.

lucianosb avatar lucianosb commented on July 26, 2024

@yuhongsun96 A better logging is indeed useful since I could parse to ingest in my own analytics system that is already in place in the company. It's a good step.

I wish to use such observability together with DLP solutions to ensure a safe usage of LLM systems across the company.

from danswer.

kavfixnel avatar kavfixnel commented on July 26, 2024

Although logging could be used to create metrics about usage, typically it makes more sense to add metrics to the a application directly.

Since Danswer seems to specifically focus on containerized Kubernetes applications, I suggested Prometheus since that’s a common way to observe metrics in these types of apps.

For metrics I was looking for:

  • How often endpoints were called
  • Request duration
  • Number of times APIs (OpenAI etc.) were called as well as request duration and number of errors to these APIs
  • Scrape durations of data sources

The nice thing about adding metrics is you can balsa add alerting for when things go wrong, which seems like something an Enterprise tool should have

from danswer.

Related Issues (20)

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.