Know when and why
code breaks in production.

See the root cause without searching through logs.

User already exists Log in
Or signup with
Supports all JVM languages
See how Takipi works - Try the demo app >>

ROOT CAUSE IN ONE-CLICK

See the complete application call stack, source code and state for every error in production.

image
CampaignBuilder.selectPublisher
private Publisher selectPublisher(List<Publisher> publishers publishers 0AdPublisher 1BidPublisher ) { for (Publisher   publisher publisher minPrice0.2 maxPrice0.7 ... : publishers publishers 0AdPublisher 1BidPublisher ) { double allowance 0.8 = publisher publisher minPrice0.2 maxPrice0.7 ... .getAllowance(); if (( bidPrice null .minimum() >= allowance 0.8 See Source Code from the production JVM at the moment of error. ) && ( bidPrice null .maximum() <= allowance 0.8 )) { return publisher publishers minPrice0.2 maxPrice0.7 ; } }
CampaignBuilder.buildCampaign
public JSONObject buildCampaign() { List<Publisher> publishers publishers 0AdPublisher 1BidPublisher = fetchLivePublishers(); Collections.shuffle( publishers publishers 0AdPublisher 1BidPublisher ); Publisher candidate = selectPublisher( publishers publishers 0AdPublisher 1BidPublisher ); Campaign campaign = internalCreateCamapain(candidate); return campaign.toJson(); }
CampaignServlet.doGet
protected void doGet(HttpServletRequest req req inputStreamInputStream .. , HttpServletResponse resp resp outputStreamoutputStream status0 ) throws ServletException, IOException { String transactionId TRAN-2015-X4k12s = req req inputStreamInputStream .. .getParameter("transactionId"); String hostIp 192.117.10.29 = req req inputStreamInputStream .. .getHeader("X-Forwarded-For");
BidRequestTask.execute
public static void execute() { try { InputStream is is length2048 bufferbyte[] =connection .getInputStream(); parseResponse( is is length2048 bufferbyte[] ); } catch (Exception e) { logger.error("Problem with bid request " + urlStr, e); } }
TaskExecutor.execute
public static void execute(Task task task taskId7412 queue"prod1" ... ) { if ( task task taskId7412 queue"prod1" ... .shouldExecuteNow()) { task task taskId7412 queue"prod1" ... .execute(); } else { asyncExecutor.execute(task); } }
QueueTasksFetcher.run
public void run() throws InterruptedException { while (! shouldStop false ) { Message message message msgId"54947df8-0e9e" taskId7412 = queue queue length140 topBidRequestTask .fetchNextMessage(); Task task task taskId7412 queue"prod1" ... = TaskFactory.messageToTask( message message msgId"54947df8-0e9e" taskId7412 ); TaskExecutor.execute( task task taskId7412 queue"prod1" ... ); } }

DETECT CRITICAL ERRORS IN REAL-TIME

Understand the actual business impact.
Respond in seconds.

image
  • image
    A lightweight JVM agent tracks
    all log errors and exceptions.
  • image
    image
    Visualize all log events and errors
    at scale without parsing logs.
    image
  • image image
    image image
    Transmit data as metrics
    into 20+ DevOps tool.
Trusted by:

Takipi is super useful. Right after installing we found a major bug in our production environment we weren't even aware of!

Taboola

PLAYS NICELY WITH YOUR EXISTING TOOLS

Inject real-time intelligence into your logs.
Seamless integration with your ecosystem.

image
  • Alerting
    Alerting - Know when new errors are introduced into your application.
    Alerting - Control which errors you're alerted on with a fully customizable rules engine.
  • Logging
    Logging - See the code and variables behind each error in your logs.
    Logging - Takipi links log errors directly to the code and variable state that caused them.
  • Teamwork
    Teamwork - Manage and invite team members to solve errors.
    Teamwork - Easily invite teammates to view error analyses.
  • Labels
    Labels - Open JIRA issues and tag errors with custom labels.
    Labels - Share and labels errors (e.g. Dan-TBD, Severe,..). Get alerted when you are tagged.
image

BUILT FOR PRODUCTION

Installs in minutes. No code or build changes.

Non-intrusive, secure and scalable.

image
wget -O - -o /dev/null http://get.takipi.com | sudo bash /dev/stdin -i --sk=<installation key>
curl -s /dev/null http://get.takipi.com | sudo bash /dev/stdin -i --sk=<installation key>
sudo dpkg -i <path-to-deb> sudo /opt/takipi/etc/takipi-setup-package <installation key>
sudo rpm -i <path-to-rpm> sudo /opt/takipi/etc/takipi-setup-package <installation key>
Download

the takipi.dmg installer for OS X.

Download

the takipi.msi installer for Windows.

Our Chef cookbook:

git clone https://github.com/takipi-cookbooks/takipi

Our Puppet module:

git clone https://github.com/takipi/takipi-puppet

Our Ansible playbook:

git clone https://github.com/takipi/takipi-playbooks
User already exists Log in

Java / Scala

image
Taki and Kipi