Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. import java.util.concurrent.TimeUnit
  2.  
  3. import software.amazon.awssdk.services.ecs.EcsClient
  4. import software.amazon.awssdk.services.ecs.model.{DescribeServicesRequest, ListServicesRequest}
  5.  
  6. import scala.collection.JavaConverters._
  7.  
  8. object EcsAutoScalingReport extends App {
  9. val startTime = System.nanoTime()
  10.  
  11. var ecs = EcsClient.create()
  12. // 92 services collected in
  13. // Sequential for(...): 11/14/7/13/12/15 secs
  14. // 1 for(...par): 9/10/10/10 secs
  15. // 2 for(...par): 5/5/5/5/6 secs
  16. // 3 for(...par): 5/6/5/5/5 secs
  17. // 2 .par.foreach{}: 6/5/5/5/5 secs
  18. ecs.listClustersPaginator().clusterArns().asScala.par.foreach { ecsClusterArn =>
  19. ecs.listServicesPaginator(ListServicesRequest.builder()
  20. .cluster(ecsClusterArn)
  21. .build())
  22. .serviceArns().asScala.grouped(10).toParArray.foreach { ecsServiceArns =>
  23. ecs.describeServices(DescribeServicesRequest.builder()
  24. .cluster(ecsClusterArn)
  25. .services(ecsServiceArns.asJavaCollection)
  26. .build())
  27. .services().asScala.foreach { ecsService =>
  28. println(ecsService.serviceName())
  29. }
  30. }
  31. }
  32.  
  33. val timeTakenSec = TimeUnit.NANOSECONDS.toSeconds(System.nanoTime() - startTime)
  34. println(s"DONE in $timeTakenSec secs")
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement