 		])
 	.spread (localImageInfo, currentSupervisorImage) ->
 		if localImageInfo.id == currentSupervisorImage
+			utils.mixpanelTrack('Supervisor up to date')
 			console.log('Supervisor is up to date')
 			return
+		utils.mixpanelTrack('Supervisor update start', image: localImageInfo.id)
 		console.log('Creating updated supervisor container:', localImage)
 		docker.createContainerAsync(
 			Image: localImage

supervisorUpdating = Promise.resolve()
exports.update = ->
	# Make sure only one attempt to update the full supervisor is running at a time, ignoring any errors from previous update attempts
	supervisorUpdating = supervisorUpdating.catch(->).then -> 
		console.log('Fetching supervisor:', remoteImage)
		docker.createImageAsync(fromImage: remoteImage)
	.then (stream) ->

es = require 'event-stream'
utils = require './utils'
config = require './config'
Docker = require 'dockerode'
Promise = require 'bluebird'
JSONStream = require 'JSONStream'


docker = Promise.promisifyAll(new Docker(socketPath: config.dockerSocket))
