2

There appear to be at least two Streaming API channels that don't require a PushTopic to be created.

  1. /systemTopic/Logging for ApexLog from Using the ApexCSIAPI that backs to Force.com Console to pull data
  2. /systemTopic/TestResult for ApexTestResult from ApexTestQueueItem

Are there any others? I can't find any documentation about what other systemTopics are available.

1

It would appear the system topics aren't intentionally published as they are considered for internal use only. Oddly, the TestResult topic is part of the Salesforce published documentation.

@FishOfPrey system topics are generic streaming channels meant to be used by internal services. What is use-case to have/see all? @gwestr
— John Brock (@_johnbrock) November 25, 2014

I did however find some additional system topics by checking for POSTs to /cometd in the Chome Developer tools when the Salesforce Developer Console was open.

  1. /systemTopic/ContainerDeployStateChange
  2. /systemTopic/ApexExecutionOverlayResult
1

/systemTopic/Logging seeems to be used by the new sfdx command sfdx force:apex:log:tail

  • The Streaming API would be an odd way to get the latest debug log from a command line tool. I thought they just went straight to the most recent ApexLog with the REST Tooling API. – Daniel Ballinger Mar 14 '18 at 3:54
  • 1
    Yep it is using ApexLog from tooling API to retrieve log details, but notification of new executions come from this stream. Similarly with test results - it listens for TestResult event and then queries ApexTestResult and ApexTestRunResult. You can inspect code yourself at ~/.local/share/sfdx/client/node_modules/salesforce-alm/ – dzh Mar 14 '18 at 11:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.