Takipi tells you when and why code breaks in production.

Get actionable information
to prioritize and fix critical errors.

User already exists Log in
Or signup with
image

see the cause - CODE AND VARIABLES

See the code and variables behind every error in staging and production.
Detect all exceptions and errors without relying on log files.

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 Hover over variables to see their values 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" ... ); } }
image description

SEE THE TREND: CODE AND ERRORS

Visualize all log events and errors from your JVM.
Send data into any DevOps graphing or alerting tool.

image
  • image
    A lightweight JVM agent tracks all
    log events and errors in real-time.
  • image
    image
    Visualize all log events and errors
    at scale without using log files.
    image
  • image image
    image image
    Transmit data as metrics
    into any DevOps front-end.
Unique errors analyzed
Connected servers
Trusted by:

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

Taboola

Integrates into your workflow

Enable engineers, DevOps and QA to resolve issues together.
Seamless integration with your infrastructure.

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.
  • Teamwork
    Teamwork - Manage and invite team members to view errors.
    Teamwork - Easily invite and share errorinformation between teammates.
  • Logging
    Logging - See the code and variables behind each error in your log files.
    Logging - Takipi links log errors directly to the code and variable state that caused them.
  • Labels
    Labels - Share and tag errors with custom labels and notes.
    Labels - Share and labels errors (e.g. Jonathan, Important, V2.0..). Get alerted when you are tagged.
  • Jira
    JIRA - Open JIRA issues for new errors with one click.
    JIRA - Open a JIRA issue for an error with a link to the code and variables that caused it.
  • NewRelic
    NewRelic - See errors in your JVM directly from NewRelic.
    NewRelic - See new and trending errors in your code in NewRelic with the Takipi plug-in.
  • Kibana
    Kibana - See the code and variables behind each log error in Kibana.
    Logging - See the code and variable state that led to each error in Kibana.
  • Splunk
    Splunk - See the code and variables behind each log error in Splunk.
    Splunk - See the code and variable state that led to each error in Splunk.

Installs in minutes

Runs anywhere as a simple java agent

with no code or build changes.

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