czwartek, czerwca 26, 2014
Sprawdzanie używanego japończyka
poniedziałek, czerwca 23, 2014
Modna firanka
niedziela, czerwca 22, 2014
Afera taśmowa w pytaniach i odpowiedziach
1. Skąd wiadomo, że Sienkiewicza na rozmowę z Belką wysłał Tusk?
B. i S. wymieniają premiera jako partnera do rozmów i decydenta. S. nie ma takiej pozycji w partii, że mógłby na jej rzecz prowadzić takie negocjacje. Poza tym jest na tyle głupi, że jako szef służb dał się nagrać. Nie mógł być mózgiem operacji.
2. Skąd wiadomo, że Sienkiewicz steruje śledztwem?
Nasłany na Wprost prokurator był na tyle tępy, że nie znał prawa prasowego. Ślepo wypełniał odgórne nakazy. Trzymał się tej samej wersji, co Tusk na późniejszej konferencji.
3. Skąd wiadomo, że Tusk to przestępca w białym kołnierzyku?
Bo zostawił Sienkiewicza na stanowisku w celu zaduszenia afery. Bo zapłacił Relidze pieniędzmi za poparcie w wyborach.
czwartek, czerwca 19, 2014
Temat bieżący
Sienkiewicz boi się pokazać publicznie od czasu afery, żeby dziennikarze nie zapytali go o szczegóły rozmów. Wtedy mógłby powiedzieć coś sprzecznego z zawartością taśm. Musi ustalić co na niego mają i jak się tłumaczyć. W tym celu nasłał prokuraturę i ABW na Latkowskiego, żeby skonfiskowali mu WSZYSTKIE taśmy (potwierdził to Tusk na konferencji prasowej). Nasłał bezprawnie. Oprócz praw ogólnych istnieją szczegółowe: należy zabezpieczyć dowody w sprawie o podsłuchiwanie w taki sposób, żeby nie naruszyć prawa dziennikarzy do nieujawniania informatora. Prokuratura powinna wystąpić do sądu o wydanie opinii w tej sprawie w jaki sposób powinno to nastąpić. Wyrywanie Latkowskiemu latopa z wykręcaniem rąk i palców jest metodą w stylu Putina i Łukaszenki. Funkcjonariusze ABW nie umieli skopiować nagrać z Mac-a i dlatego chcieli zabrać całego latopa. Minister nadzorujący służby szlaja się po mieście bez osłony kontrwywiadowczej i prowadzi, zbliżone do mafijnych, rozmowy. Reszta rządu podobnie. Być może pierwszym i ostatnim ogniwem afery jest kelner porażony rozkładem państwa na szczytach jego władzy. Przekazał nagrania mediom. Teraz ściga go Sienkiewicz - sprawca i winny całej afery. Niekompetentny i bezczelny. Ten rząd musi odejść.
wtorek, czerwca 17, 2014
JMX query for Tibco BW
public static class VMStats { String nameOrDesc = "UNKNOWN"; int memUsage = 0; int memMax = 0; int cpuUsage = 0; int gcUsage = 0; int cores = 0; int overloaded = 0; public void toStdout() { System.out.println(String.format("%s|%d|%d|%d|%d|%d|%d", nameOrDesc, memUsage, memMax, cpuUsage, gcUsage, cores, overloaded)); } } public final static VMStats query(VirtualMachineDescriptor vmd, CyclicBarrier sync) throws Exception { VirtualMachine vm = VirtualMachine.attach(vmd); long timeStart = System.currentTimeMillis(); try { String address = vm.getAgentProperties().getProperty("com.sun.management.jmxremote.localConnectorAddress"); MBeanServerConnection conn = null; for (int i=0; i < 2; i++) { try { if (address == null) { String javaHome = vm.getSystemProperties().getProperty("java.home"); File managementAgentJarFile = new File(javaHome + File.separator + "lib" + File.separator + "management-agent.jar"); vm.loadAgent(managementAgentJarFile.getAbsolutePath()); address = vm.getAgentProperties().getProperty("com.sun.management.jmxremote.localConnectorAddress"); } JMXServiceURL jmxUrl = new JMXServiceURL(address); conn = JMXConnectorFactory.connect(jmxUrl).getMBeanServerConnection(); } catch (Exception e) { if (i==0) { address = null; /* try to reload agent */ } else throw e; } } String file = vm.getSystemProperties().getProperty("wrapper.tra.file"); MemoryMXBean memBean = ManagementFactory.newPlatformMXBeanProxy(conn, ManagementFactory.MEMORY_MXBEAN_NAME, MemoryMXBean.class); RuntimeMXBean rtBean = ManagementFactory.newPlatformMXBeanProxy(conn, ManagementFactory.RUNTIME_MXBEAN_NAME, RuntimeMXBean.class); OperatingSystemMXBean osBean = ManagementFactory.newPlatformMXBeanProxy(conn, ManagementFactory.OPERATING_SYSTEM_MXBEAN_NAME, OperatingSystemMXBean.class); long memMax = (memBean.getHeapMemoryUsage().getMax() + memBean.getNonHeapMemoryUsage().getMax()); int memUsage = (int)(100.0 * (memBean.getHeapMemoryUsage().getUsed() + memBean.getNonHeapMemoryUsage().getUsed()) / memMax); int memMB = (int) (memMax / 1024 / 1024); long time0 = osBean.getProcessCpuTime(); long refTime0 = System.currentTimeMillis(); Thread.sleep(1000); double load = (osBean.getProcessCpuTime() - time0) / (System.currentTimeMillis() - refTime0) / 10000.0; if (Double.isInfinite(load) || Double.isNaN(load) || load < 0) load = 0; load = Math.round(load); String appId = "PID|"+vm.id() + "|"+rtBean.getSystemProperties().get("user.dir"); if (file!=null) { appId = file.endsWith(".tra") ? "TRA|"+file.substring(file.lastIndexOf(File.separator+"")+1) : appId; } long gcDiff = 0; ListgcmbList = ManagementFactory.getGarbageCollectorMXBeans(); long[] gcTime = new long[gcmbList.size()]; for (int i=0; i < 5; i++) { for (int j=0; j < gcmbList.size(); j++) { GarbageCollectorMXBean gcBean = ManagementFactory.newPlatformMXBeanProxy(conn, gcmbList.get(j).getObjectName().toString(), GarbageCollectorMXBean.class); if (i > 0) gcDiff += (gcBean.getCollectionTime() - gcTime[j]); gcTime[j] = gcBean.getCollectionTime(); } if (i!=4) Thread.sleep(1000); } VMStats stats = new VMStats(); stats.nameOrDesc = appId; stats.memUsage = memUsage; stats.memMax = memMB; stats.cpuUsage = (int) load; stats.gcUsage = (int) gcDiff; stats.cores = osBean.getAvailableProcessors(); stats.overloaded = System.currentTimeMillis() - timeStart >= 60000 ? 1 : 0; if (vm.getSystemProperties().getProperty("VMSTAT_TOKEN", "").equals(System.getProperty("VMSTAT_TOKEN"))) stats.nameOrDesc = ""; /* this is me */ return stats; } finally { vm.detach(); } } public void invoke() { List list = VirtualMachine.list();
ExecutorService es = Executors.newFixedThreadPool(list.size()+1); final CyclicBarrier sync = new CyclicBarrier(list.size()+1); final ConcurrentLinkedQueue result = new ConcurrentLinkedQueue (); System.setProperty("VMSTAT_TOKEN", System.currentTimeMillis()+"X"+Thread.currentThread().getId()); for (final VirtualMachineDescriptor vmd : list) { Runnable r = new Runnable() { public void run() { try { VMStats stats = query(vmd, sync); if (!("".equals(stats.nameOrDesc))) result.add(stats); } catch (Exception e) { new RuntimeException("Error while querying JMX for "+vmd.id(), e).printStackTrace(); VMStats vms = new VMStats(); vms.nameOrDesc = "PID|"+vmd.id()+"|"+vmd.id(); vms.overloaded = 1; result.add(vms); } finally { try { sync.await(180, TimeUnit.SECONDS); } catch (Exception e) {} } } }; es.execute(r); } try { sync.await(180, TimeUnit.SECONDS); } catch (Exception te) {} es.shutdownNow(); try { Thread.sleep(1000); } catch (InterruptedException e) {} while (result.size() > 0) { result.remove().toStdout(); } } public final static void main(String[] args) { new VMStat().invoke(); try { Thread.sleep(1000); } catch (InterruptedException e) {} System.exit(0); }
poniedziałek, czerwca 16, 2014
How to check number of threads per Tibco BW instance
Temat zastępczy Chazan
wtorek, czerwca 10, 2014
Klauzula sumienia
Art. 31.2. Każdy jest obowiązany szanować wolności i prawa innych. Nikogo nie wolno zmuszać do czynienia tego, czego prawo mu nie nakazuje.
Art. 32.2. Nikt nie może być dyskryminowany w życiu politycznym, społecznym lub gospodarczym z jakiejkolwiek przyczyny.
Art. 38. Rzeczpospolita Polska zapewnia każdemu człowiekowi prawną ochronę życia.
Art. 47. Każdy ma prawo do ochrony prawnej życia prywatnego, rodzinnego, czci i dobrego imienia oraz do decydowania o swoim życiu osobistym.
Art. 53.1. Każdemu zapewnia się wolność sumienia i religii.
Art. 54.1. Każdemu zapewnia się wolność wyrażania swoich poglądów oraz pozyskiwania i rozpowszechniania informacji.
Art. 72.1. Rzeczpospolita Polska zapewnia ochronę praw dziecka. Każdy ma prawo żądać od organów władzy publicznej ochrony dziecka przed przemocą, okrucieństwem, wyzyskiem i demoralizacją.
czwartek, czerwca 05, 2014
EMS: 40 sessions in 1 connection or 40 connection with 1 session
cf.setServerUrl("tcp://localhost:7222");
cf.setUserName("admin");
cf.setUserPassword("Adm1n");
final QueueConnection qc = cf.createQueueConnection();
QueueSession qs = qc.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
QueueSender qsnd = qs.createSender(qs.createQueue("1n_n1"));
qc.start();
final AtomicInteger toDo = new AtomicInteger(0);
final AtomicInteger[] sum = new AtomicInteger[2];
int[] sessionPerConnIters = { 1, 0 };
for (final int mode : sessionPerConnIters) {
sum[mode] = new AtomicInteger(0);
for (int i=0; i < 100; i++) {
TextMessage msg = qs.createTextMessage(MESSAGE);
msg.setIntProperty("TEST", 1);
qsnd.send(msg);
}
toDo.set(100);
final CyclicBarrier cb = new CyclicBarrier(41);
for (int i=0; i < 40; i++) {
new Thread() {
public void run() {
try {
QueueConnection _qc = (mode == 1) ? cf.createQueueConnection() : qc;
_qc.start();
QueueSession _qs = _qc.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
QueueReceiver _qr = _qs.createReceiver(_qs.createQueue("1n_n1"), "TEST=1");
long t1 = System.currentTimeMillis();
while (toDo.get() > 0) {
TextMessage m = (TextMessage) _qr.receive(100);
long t2 = System.currentTimeMillis();
if (m!=null) {
if (mode == 1)
System.out.println("Message recv time = "+(t2-t1)+" ms");
else
System.err.println("Message recv time = "+(t2-t1)+" ms");
sum[mode].addAndGet((int) (t2-t1));
m.acknowledge();
toDo.decrementAndGet();
t1 = t2;
}
}
cb.await();
_qs.close();
if (mode == 1)
_qc.close();
}
catch (Exception exc) {
exc.printStackTrace();
}
}
}.start();
}
cb.await();
}
qc.close();
for (int i=0; i < sum.length; i++) {
System.out.println("Full time of all threads: "+sum[i].get()+", sessionPerConn="+sessionPerConnIters[i]);
}
}
Full time of all threads: 46554, sessionPerConn=1
Full time of all threads: 53262, sessionPerConn=0
20 threads, 4MB
Full time of all threads: 262, sessionPerConn=1
Full time of all threads: 403, sessionPerConn=0
20 threads, 4KB
Full time of all threads: 79, sessionPerConn=1
Full time of all threads: 72, sessionPerConn=0
5 threads, 4KB
--
Full time of all threads: 14866, sessionPerConn=1 Full time of all threads: 26016, sessionPerConn=0 20, 1MB Full time of all threads: 6486, sessionPerConn=1 Full time of all threads: 9073, sessionPerConn=0 15, 1MB Full time of all threads: 4181, sessionPerConn=1 Full time of all threads: 6366, sessionPerConn=0 10, 1MB Full time of all threads: 2249, sessionPerConn=1 Full time of all threads: 2646, sessionPerConn=0 5, 1MB Full time of all threads: 1870, sessionPerConn=1 Full time of all threads: 2093, sessionPerConn=0 4, 1MB Full time of all threads: 1391, sessionPerConn=1 Full time of all threads: 1246, sessionPerConn=0 3, 1MB --- Full time of all threads: 192, sessionPerConn=1 Full time of all threads: 251, sessionPerConn=0 20, 1KB Full time of all threads: 181, sessionPerConn=1 Full time of all threads: 165, sessionPerConn=0 15, 1KB Full time of all threads: 163, sessionPerConn=1 Full time of all threads: 137, sessionPerConn=0 10, 1KB
--
Conclusion: When using above 20 sessions per connection 1:1 connection/session model is faster than 1:n approach.