Takipi for Scala

Takipi tells you when and why Scala code breaks in production.


A JVM tool built specifically for Scala and Akka.
Know when critical errors are introduced into production.
Fix errors in high-scale data processing and message based systems.

User already exists Log in

Java / Scala

typeface logoTypesafe calls Takipi one of the most exciting Scala developer tools today Read more >>

see the cause - CODE AND VARIABLES

Takipi detects caught and uncaught exceptions, actor and log errors in Scala and Akka applications
and shows you the code and variable state that caused them - right as if you were there.

CampaignBuilder pickPublisher
def pickPublisher( publisher publisher minPrice0.2 maxPrice0.7 ... :Publisher):Boolean = { val allowance 0.8 = publisher publisher minPrice0.2 maxPrice0.7 ... .getAllowance return (( bidPrice null .minimum() >= allowance 0.8 Hover over variables to see their value when the error occurred. Takipi automatically reconstructs the code leading to the error within the JVM. ) && ( bidPrice null .maximum() <= allowance 0.8 )) }
CampaignBuilder buildCampaign
def buildCampaign:JSONObject = { val publishers publishers 0AdPublisher 1BidPublisher = fetchLivePublishers val publisher publisher minPrice0.2 maxPrice0.7 ... = Random.shuffle( publishers publishers 0AdPublisher 1BidPublisher ).filter(pickPublisher _) publisher match { case Publisher => { log!(INFO, "publisher selected") internalCreateCampaign publisher } case _ => log!(ERROR, "no publisher found") } }
CampaignRoute campaignRoute λ-1
val campaignRoute = { (path("campaign") & get) { parameters("transactionId"!) { transactionId TRAN-2015-X4k12s => val contentType = headerValue({
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" ... ); } }

focus on the errors that matter

Real-time analytics let you cut through the noise and get to the errors that you need to fix.

image description
image description
image description
image description
image description
Filter errors by server, app, code entry point and location.
image description
imageShare with teammates

This just started happening in prod1 after today's release.
http//app.takipi.com/event=UzYyOTUjMUzlzE

To:
  • Danny R (developer)close
  • Connie H (developer)close
  • Stan M (Eng manager)close
Share errors between DevOps, engineers and QA with one click.
image description
imageCreate JIRA issue

NullPointerException at CampaignBuilder.selectPublisher

Click here to see code and variable state -
http//app.takipi.com/event=UzYyOTUjMUzlzE

Open a JIRA issue for an error with the code and variable state that caused it.

Built for high scale Akka
and Scala applications.

See the accurate variable state that led to an error even at high scale.
Beautiful support for Scala code and call stacks.
No need to upload log files or add API calls into your code.

Installs in minutes

Install a simple java agent. No code changes, annotations, or build configurations needed.

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
User already exists Log in

Java / Scala developers

Taki and Kipi