FAQ

  • What is Sprkl?

    Sprkl is a Personal Observability platform that provides personalized feedback on your code changes while coding. Sprkl helps ship correct and efficient code while spending less time on debugging, code review, and frustrating rework. Powered by OpenTelemetry, Sprkl instruments every code change and analyzes it upon execution. Watch Sprkl feedback while coding (VSCode/ web / during CI).

    Watch a short Sprkl demo here.

  • How does Sprkl make my life easier?

    By using Sprkl, you immediately understand how your code performs. You no longer need to spend time manually collecting data and trying to piece it all together. No more sifting through endless logs or traces, adding breakpoints or switching from one tool to another. Sprkl helps you research, plan, debug, test and prevent issues, and investigate existing issues faster so you can focus on writing your best possible code. You can see a short demo right here.

  • How does Sprkl work?

    We leverage OpenTelemetry to automatically instrument every code change and analyze it upon execution. See how it works in the illustration here.

  • How do I "Git" started?

    Sprkl is available as a VSCode extension/ as a web app (based on Grafana & jaeger) or as a GitHub App. Follow our docs for getting started instructions.

  • What languages does Sprkl support?

    Node v16.10 and up (Java, C#, and Python are partially supported via our Kubernetes Setup). We gradually support more languages.

  • Which editors do you support?

    We currently support VSCode. We'll support additional editors shortly. If you’re not using VSCode, We’ve recently rolled out Sprkl for the web.

  • Which Node.Js version does Sprkl support?

    Sprkl currently supports Node v16.1.0 or higher.

  • How do I use Sprkl for TypeScript?

    Using Sprkl with TypeScript is as easy as using it for native Javascript. Just make sure that you enable sourcemaps when building the code, and that the sourcemaps are available when running Sprkl (either as files with the compiled code or inlined). Example using esbuild: esbuild --sourcemap … Example using tsc (tsconfig.json)

{  
   "compilerOptions": {  
   	  ...  
   	  "sourceMap": true  
    },  
    ...  
}  
  • Will my data be exposed or sent to external servers?

    No. Your data runs locally and will never be revealed.

  • Does your instrumentation change my code?

    We do not change your code functionality in any way. Instead, we add an instrumentation layer to your code. We use our Sprkl instrumentation engine to leverage OpenTelemetry and apply our instrumentation to your code automatically.

  • Does your instrumentation change my files?

    No. Sprkl doesn't change your code functionality or files.

  • Does Sprkl affect staging or production environments?

    No. Our code instrumentation is in memory and is not added to the source code. Therefore it does not affect staging or production.

  • Why don’t you instrument all the code?

    We focus on what you need to see to ship better code faster. Therefore, we focus on what’s relevant to your own code change - how it affects and is affected by system components. For example, your code-level traces, your hidden API calls, DB queries, messages, memory bottlenecks, diff coverage, errors, etc.

  • Is there any performance overhead involved in using Sprkl?

    Local performance overhead is minimal as we instrument your code change alone, rather than the entire codebase. The instrumentation stays local and won't apply to your files, and will not have any effect on staging or production.

  • Will I be able to see Sprkl insights and telemetry data later in CI/CD, staging, or production

    We're working on it. We aim to show you how your code function changes throughout the entire lifecycle.

  • Do I need to install Jaeger?

    No. It comes out of the box: you don't need to deal with the hassle of installing it.

  • Can I see the instrumentation?

    No, unless you really want to :). We think it's TMI and isn't helpful. We want to help you focus on what matters.

  • Can I configure what I want Sprkl to instrument?

    Of course. Sprkl can instrument any git recipe you can think of. For example, you can instrument or exclude: uncommitted changes, my commits only; all commits since I left the main branch; all commits in the last six months, etc. Those are configurable.

  • What is Sprkl for GitHub actions? Sprkl for GitHub Actions shortens code reviews and debugging time by providing a focused, personalized report for every Pull Request. See deeper into the effects of your code diff, including hidden errors, app ripple effect, performance and security insights, diff coverage, and more. Read more on our docs or join for free here.

  • Can I use Sprkl in Kubernetes dev environments? Yes! Sprkl works with Kubernetes and provides auto instrumentation with both OpenTelemetry and Sprkl instrumentation for all the services in the cluster. Check out how to use Sprkl for Kubernetes here.

  • What is the Sprkl Operator? The Sprkl Operator is an improvement of the OpenTelemetry Operator. The OpenTelemetry Operator applies automatic library and infrastructure-level instrumentation. The Sprkl Operator provides the same functionality and integrates Sprkl instrumentation with it. Together Sprkl brings you cluster-level distributed tracing with personalization on your Node.js services. Read more on our docs.

  • Can I add observability to my Jest tests? Yes! Sprkl ships with Jest testing instrumentation (unit and integration tests), providing insights and traces for every execution. You can get an overview of the execution of your tests, including details for mocks and assertions. Get a better understanding of what is tested (or not tested) for the code changes you analyze. Read more here or this article in our blog.

  • Can Sprkl instrument my code if I run my code directly on my machine? (i.e., no Docker, ssh, VM, etc.). Yes! Read more here.

  • How can I contribute?

    Got new feature suggestions or want to comment on existing ones? Connect with us here.

  • Is Sprkl free?

    Yes, and it will always be free for an individual developer. However, we'd appreciate it if you spread the word amongst your fellow devs and communities that you engage in.

Last updated